Poranna porcja aktualizacji paczek w #Gentoo zakończona.
Testy w #libarchive 3.7.2 sypią się na 32-bitowych architekturach. Miejmy nadzieję, że to tylko kwestia testów dla wariantu zstd, który nie jest w stanie działać na 32-bitowych architekturach, a nie ogólniejszego błędu w kodzie.
https://github.com/libarchive/libarchive/issues/1968
Nie widać też żadnych postępów w temacie naprawy libarchive.pc:
https://github.com/libarchive/libarchive/issues/1766
https://github.com/libarchive/libarchive/issues/1819
google-auth usunęło zależność od six. Niestety, dalej brak postępów w kwestii zgodności z urllib3 w wersji 2:
https://github.com/googleapis/google-auth-library-python/pull/1290
#brotli 1.1.0 zaczęło się sypać na pypy3. Ktoś to nawet zgłosił, ale już widzę, jak bardzo to obchodzi Google'a. To rzekłszy, mamy tam traceback z RPythona, więc zgłoszę problem wprost do #PyPy.
#python #pypy #brotli #libarchive #gentoo
1/2
At first, I was a bit skeptical of the new Modular's #Mojo language.
Having no binaries available (only a playground), and a long history of #Python contenders such as #PyPy or Pyston that never achieved full compatibility... was a huge turnoff.
The amount of Python compilers that never reach 100% compatibility is almost hilarious.
Having seen the tremendous amount of effort behind #Julialang, and how little is its community compared to Python's... adds on top of that.
#mojo #python #pypy #julialang
No więc doczekaliśmy się pierwszej paczki (pdm), która używa truststore, nowej paczki zastępującej certifi, która ma używać systemowych certyfikatów.
Złe wiadomości są takie:
- działa tylko z CPython-em (na #PyPy już nie)
- działa tylko z Pythonem 3.10+ (dla #Gentoo to nie problem)
- prawie wszystkie testy wykorzystują zewnętrzne strony internetowe (tyle na temat bezpieczeństwa…)
Eksperci Pythonowi & miłośnicy #PyPy: przydałaby nam się pomoc w ogarnięciu, dlaczego #pygobject się sypie z PyPy 3.10. Poziom abstrakcji w tym kodzie powoduje u mnie zawroty głowy.
#python #gentoo #pygobject #pypy
Spece od języka #Python: mamy ciekawy problem w interakcji pomiędzy ijson i #PyPy.
ijson wywołuje metodę __wait__() funkcji asynchronicznej i iteruje po wynikach aż otrzyma wyjątek StopIteration. Wówczas zbiera z niego wartość zwrotną funkcji. Wersja w czystym Pythonie działa zarówno z CPythonem, jak i z PyPy. Natomiast API w C działa na CPython ie (tp_iternext() tworzy wyjątek StopIteration), ale nie w PyPy. Pytanie brzmi: czy to bug w PyPy, czy jest inny sposób na otrzymanie wyniku asynchronicznej funkcji z API C?
https://github.com/ICRAR/ijson/issues/101
https://foss.heptapod.net/pypy/pypy/-/issues/3956
#Python language lawyers, we're seeing some interesting issue with #PyPy / ijson.
ijson is calling the async function's __wait__() method and iterating over the results until it gets StopIteration exception, and it uses it to get the return value. This works in Python both in CPython and PyPy but within C API, CPython tp_iternext() raises StopIteration while in PyPy it does not — is that a bug or is there some other way to get the return value?
https://github.com/ICRAR/ijson/issues/101
https://foss.heptapod.net/pypy/pypy/-/issues/3956
W ramach zajęcia czymś uwagi, udało mi się rozkminić problemy na linii #OpenSSL — #PyPy 3.10. Okazało się, ze były to dwa problemy w implementacji hashlib:
1. PyPy nie kasuje błędu z OpenSSL po tym, jak pobieranie funkcji hashującej się nie powiedzie, oraz
2. PyPy nie ma mapowania dla funkcji SHA3, i próbuje pobierać je używając niewłaściwych nazw.
Myślę, że problem nr 1 może też dotyczyć CPythona, ale nie wiem, jak go odtworzyć.
https://github.com/pyca/cryptography/issues/9010#issuecomment-1582102954
As a matter of distraction, I've managed to figure out the #OpenSSL problems in #PyPy 3.10. Turns out there were two problems, both coming from hashlib:
1. PyPy is not clearing OpenSSL error after unsuccessfully fetching a hash, and
2. PyPy lacked mapping mapping for SHA3 hashes and tried to fetch them using wrong names.
I *think* that CPython suffers from 1. too but I don't know how to reproduce there.
https://github.com/pyca/cryptography/issues/9010#issuecomment-1582102954
Podzieliłem #PyPy 7.3.12rc2 w #Gentoo na dwie paczki: dev-python/pypy3_9 (instaluje binarkę "pypy3.9") i dev-python/pypy3_10 (binarka "pypy3.10").
Oznacza to, że teraz można zainstalować obie paczki i zrobić np.:
tox -e pypy39,pypy310
Jeżeli chodzi o flagi, pozostajemy przy jednej "pypy3". dev-python/pypy3 instaluje symlink "pypy3" do odpowiedniej binarki. Chwilowo wrzuciłem rewizje dla 3.9 i 3.10, ale docelowo zostanie tylko 3.10.
With #PyPy 7.3.2rc2 in #Gentoo, I've split the interpreter into dev-python/pypy3_9 (installing "pypy3.9" executable) and dev-python/pypy3_10 ("pypy3.10" executable).
Notably, this means that you can install both and then do e.g.:
tox -e pypy39,pypy310
There's still only one "pypy3" target, and dev-python/pypy3 installs a "pypy3" symlink to the appropriate executable. Temporarily, it comes in 3.9 and 3.10 revisions but it'll be 3.10-only.
On a recent @pythonbytes podcast, @calvinhp talks #PWC2023, the latest release of #MyPy and @sqlalchemy and more! Read all about it 👉 https://t.co/5uCHVdpzI2
#Python #PyPy https://t.co/Pxjphl2qBJ
@0xabad1dea I'm of two minds on this. On the right hand, this is merely an instance of the Gödel-machine pattern suggested by Schmidhuber.
On the left hand, surely the actual way to get more speed out of Torch on CPU would be to officially support #PyPy, and I don't see such a machine finding such a plan anytime soon.
On the gripping hand, I've already built something like this in private, and it was completely incapable of hacking on itself. They aren't *that* skilled.
@dekkzz76 Yeah, it's unfortunate.
There are better runtimes for it, like #PyPy, but barely anyone uses it. The one actual compiler I know for #Python, #Nuitka, needs some love too.
In ideal circumstances I'd say #Guile should replace it. No GIL, proper multithreading, JIT and it's a #Lisp.
#pypy #python #nuitka #guile #lisp
I made some good progress on 3.10 support in #PyPy, test_patma passes now finally (some of the corner cases were a bit tricky) 🎉