Size: a a a

2020 October 13

DB

Dima Boger in PiterPy Meetup
Ага. Просто причина забавная
источник
2020 October 14

N

Nikita in PiterPy Meetup
Dima Boger
А кто-нибудь решал проблему обратную темплейтингу? Т.е. есть набор строк, и нужно понять из какого темплейта они появились? Аля
Retry in 5 seconds, Retry in 10 seconds -> Retry in %d seconds
Если надо логи читать, то это умеет логуру в какой-то степени)
https://loguru.readthedocs.io/en/stable/api/logger.html#loguru._logger.Logger.parse
источник

A🚀

Andrey 🚀🚀🚀 Popp... in PiterPy Meetup
а кто то пользуется pyre вместо mypy? как он вообще?
источник

MK

Maxim Koltsov in PiterPy Meetup
ни у кого сегодня pypi не штормит?
источник

MK

Maxim Koltsov in PiterPy Meetup
Command ['/root/.cache/pypoetry/virtualenvs/biotools-rIcPRUCq-py3.7/bin/pip', 'install', '--no-deps', 'toml==0.10.1'] errored with the following return code 1, and output:
Collecting toml==0.10.1
 Could not find a version that satisfies the requirement toml==0.10.1 (from versions: )
No matching distribution found for toml==0.10.1
источник

MK

Maxim Koltsov in PiterPy Meetup
ошибки с рандомными пакетами вылеазают
источник

DB

Dima Boger in PiterPy Meetup
источник

DB

Dima Boger in PiterPy Meetup
немножечко есть
источник

MK

Maxim Koltsov in PiterPy Meetup
чтож
источник

MK

Maxim Koltsov in PiterPy Meetup
спасибо!
источник

Б

Боброний in PiterPy Meetup
Можете объяснить ошибки в make_exception?

Далее при этом нормально отрабатывает и видит, где None, а где нет

from contextlib import suppress
from typing import TypeVar, Optional, Generic, Type

T = TypeVar("T", bound=Optional[Exception])

class Foo(Generic[T]):
   exception: Type[T]

   def make_exception(self) -> T:  # Incompatible return value type (got "Union[Exception, Any]", expected "T")
       if self.exception is not None:
           return self.exception('Exc arg')  # Cannot instantiate type "Type[None]"
       return None

class NoneFoo(Foo[None]): ...

with suppress(AttributeError):
   NoneFoo().make_exception().args  # "None" has no attribute "args" (expected)

class MyTypeFoo(Foo[ValueError]): ...

MyTypeFoo().make_exception().args  # no error (expected)
источник

Б

Боброний in PiterPy Meetup
источник

A🚀

Andrey 🚀🚀🚀 Popp... in PiterPy Meetup
сегодня узнал что есть в списке аргументов поставить запятую после последнего аргумента
call(a, b, c,)

то black отформатирует чтобы каждый аргумент был на одной строчке
ca
ll(
 a,
 b,
 c,
)
о
чень нравится такое распознавание намерений пользователя
источник

ED

Eugene Denisov in PiterPy Meetup
Andrey 🚀🚀🚀 Popp
сегодня узнал что есть в списке аргументов поставить запятую после последнего аргумента
call(a, b, c,)

то black отформатирует чтобы каждый аргумент был на одной строчке
ca
ll(
 a,
 b,
 c,
)
о
чень нравится такое распознавание намерений пользователя
У меня расписывает только если не влезает в одну строку. Независимо от наличия запятой. Завтра перепроверю конечно.
источник

A🚀

Andrey 🚀🚀🚀 Popp... in PiterPy Meetup
env % black --version
black, version 20.8b1

если что
источник
2020 October 15

Б

Боброний in PiterPy Meetup
Andrey 🚀🚀🚀 Popp
сегодня узнал что есть в списке аргументов поставить запятую после последнего аргумента
call(a, b, c,)

то black отформатирует чтобы каждый аргумент был на одной строчке
ca
ll(
 a,
 b,
 c,
)
о
чень нравится такое распознавание намерений пользователя
Ага. А у меня pycharm с недавних пор начал проставлять запятые после переменных в цикле:

for i, value in enumerate(things)
CMD/Ctrl + Shift + Enter ->
for i, value, in enumerate(things):
   ...

И black это потом форматирует во что-то вроде

for (
   i,
   value,
   ) in enumerate(things):
   ...
источник

E

Eugene in PiterPy Meetup
Почему-то Poetry из lock файла не ставит зависимости из других источников.

Как проверяю:
1. Прописал в pyproject файл источник

[[tool.poetry.source]]
name = "my"
url = "http://my.source.index.com:8888/"
secondary = true

2. Добавляю зависимость
poetry add my-custom-package
Всё добавляется и устанавливается

В lock файле появляется запись:
[[package]]
category = "main"
description = "My Custom Package"
name = "my-custom-package"
optional = false
python-versions = ">=3.6,<4.0"
version = "0.1.0"

[package.dependencies]
...

[package.source]
reference = "my"
url = "http://my.source.index.com:8888"

my-custom-package = [
   {file = "my-custom-package-0.1.0-py3-none-any.whl", hash = "md5:f53661ba6de708c6b603ccda77a8894d"},
   {file = "my-custom-package-0.10.tar.gz", hash = "md5:6e3170a14db160b0d20dcaf495f07cc7"},
]


3. На другом компьютере делаю poetry install
ставятся все зависимости, в том числе зависимости моего пакета, но сам пакет не ставится:
RuntimeError

 Unable to find installation candidates for my-custom-package (0.1.0)

Что не так то? 🤷‍♂️
источник

E

Eugene in PiterPy Meetup
Ерунда какая-то. Удалил poetry.lock файл и пакет поставился.

$ rm poetry.lock
$ poetry install
Updating dependencies
Resolving dependencies... (52.6s)

Writing lock file

Package operations: 1 install, 0 updates, 0 removals

 • Installing my-custom-package (0.1.0)

Installing the current project: my-project (0.1.0)


Это баг в Poetry или я что-то не так делаю?
источник

E

Eugene in PiterPy Meetup
В poetry.lock файле, который он пересоздал, есть такое изменение:
[package.source]
type = "legacy"
url = "http://my.source.index.com:8888"
reference = "my"


То есть он добавил type = "legacy".

Проверил версии Poetry. Там где я ставлю из lock файла poetry 1.1.2, а там где я создавал проект, добавлял зависимости и создавал исходный lock-файл версия 1.0.2
источник

DB

Dima Boger in PiterPy Meetup
источник