Týdenní poznámky #2

Utekl další týden (12. 1. – 15. 1.), a tak si sepisuju, co jsem dělal.

Pondělí: naucse

Opravil jsem CSS pro lekce psané v Jupyter Notebooku. Ještě to není úplně nasazené, příští týden dokončím.

Sepsal jsem si, co bude potřeba pro rozjezd videokurzu. Zas tolik toho není; zatím to vypadá že největší překážka je asi drobnost v odevzdávátku. Tak se to snad povede a zorganizuju kurz – po pár letech co učím kurzy které organizují PyLadies.

Úterý: CPython

Většinu úterka jsem strávil definování stabilního ABI – slučováním seznamů z několika různých zdrojů. Už se „těším“ na diskuse které nastanou až budu hotový se svým návrhem.

A pár menších věcí:

Taky se strhla mailová diskuse ohledně heap types. Co to je? Zjednodušeně řečeno: typy které se dají měnit, na rozdíl od statických typů jako např. str:

>>> str.lower = 'něco jiného'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can''t set attributes of built-in/extension type 'str'

Třídy definované v Pythonu jsou heap types. Aktuálně se na ně převádí spousta „vestavěných“ typů. V aktuální alfa verzi Pythonu 3.10 tak jde udělat třeba:

>>> from array import array
>>> array.count = 'něco jiného'
>>> array('b', [3, 4, 5]).count
'něco jiného'

Diskuse se točila kolem toho, proč jsou heap types lepší, pokud chceme umožnit pod-interprety bez GIL (sdíleného zámku).

Než se bude dát měnit str, nějakou dobu to potrvá a nejspíš bude potřeba změnit C-API Pythonu. Ale zatím to vypadá že nakonec to tak bude.

Středa: Fedora

Ve středu jsem hlavně spravoval věci ve Fedoře. Poslal jsem PR do šablonovacího jazyka Mako, který v Pythonu 3.10 narážel na varování, což pak rozbíjelo testy projektů, které Mako používají a varování ve svých vlastních testech berou jako chyby.

Taky jsem pokročil v balíčkování nové verze Pipenv, ale nestihl jsem to otestovat. Miro se na to kouknul a hned asi tři našel. (Pipenv je, mimochodem, strašlivé mocnáctihlavé monstrum. Ale užitečné.)

Čtvrtek: Plánování a Python 2

Ve čtvrtek jsem (kromě extra velké týmové porady) vyndával z Fedoray věci, které ještě pořád potřebují Python 2. Zbývá jich už jen 70.

Pátek: Práce v korporátu

No a v pátek jsem podobné nechtěné balíčky vyndával z budoucí verze RHELu, aby tam zbyly jen věci, které reálně můžeme nějaké to desetiletí podporovat.