mastodon.uno è uno dei tanti server Mastodon indipendenti che puoi usare per partecipare al fediverso.
Mastodon.Uno è la principale comunità mastodon italiana. Con 77.000 iscritti è il più grande nodo Mastodon italiano: anima ambientalista a supporto della privacy e del mondo Open Source.

Statistiche del server:

6,2K
utenti attivi

#pypy

0 post0 partecipanti0 post oggi

Do you maintain or contribute to a #Python package that includes a C extension? Would you like to run a fuzzer against it?

If so, let me know and I will run it, or help you to get it running.

The fuzzer is #fusil, which generates random code calling into your functions and methods. It's useful to check for crashes on invalid inputs or unexpected call patterns.

It has found about 50 crashes in #CPython, 20 in #PyPy, 6 in #Numpy etc.

#fuzzing #fuzzer #testing
See here:
github.com/devdanzin/fusil/iss

fusil can find crashes in external C extensions. This issue records which have been fuzzed, results, and a list of possible candidates. Asking maintainers of each package beforehand whether there i...
GitHubFuzz C extensions · Issue #37 · devdanzin/fusilDi devdanzin

PSA: reminder that on 2025-05-01, #Gentoo is switching the default to #Python 3.13.

We are also removing the support for Python 3.10 and #PyPy 3.10 targets. Unlike the previous times, the upgrade to PyPy 3.11 now requires switching target flags.

We also do expect CPython 3.14 betas to land mid-May, and we will start adding relevant targets soon afterwards, as time permits.

public-inbox.gentoo.org/gentoo
gentoo.org/support/news-items/

public-inbox.gentoo.org[gentoo-dev] [Python] The big plans for May: Python 3.13 by default, Python 3.10 + PyPy 3.10 gone, Python 3.14 incoming

Dear @ThePSF ...

having been engaged with #Python through co-creating #pytest #pypy, giving talks and trainings i appreciate that the PSF has long been a champion of diversity and inclusion! Are you aware that these days many non-USians are canceling their US travels? The German foreign ministry warns about travel to the US if you are pregnant or don't have your passport carrying a birth gender marker, then this: kpbs.org/news/border-immigrati

Maybe better update the #Pycon webpage accordingly?

Some fun numbers: out of 823 packages featuring #PyPy 3.x support in #Gentoo, 712 have already been ported to PyPy 3.11. There are a few significant blockers left (notably #IPython, with hanging IPyParallel), and a fair number of packages that simply don't have tests (so I haven't looked at them yet).

Interesting enough, the most common test failures seen while porting to PyPy 3.11 are:

• flaky tests (i.e. just need to rerun, especially without parallelization of testing 70 packages simultaneously)
• existing, irrelevant test regressions (i.e. confirmed by testing with CPython 3.11)
• existing test problems with PyPy3.10 (i.e. need to copy deselects)
• some minor differences, such as slightly different exception messages

Serious issues are really rare, and they are often fixed (or worked around by me) promptly. Really great release! Thanks to everyone involved!

A cóż ja mogę teraz robić, w piątkowy wieczór?

Oczywiście, że wysyłam zgłoszenia do przypadkowych projektów #Python / #RustLang, prosząc o aktualizację wersji #PyO3 i nowe wydanie, po to, by móc wprowadzić wsparcie #PyPy 3.11 w #Gentoo. Bo, rzecz jasna, prawidłowy sposób rozwoju współczesnych paczek Pythona to przypadkowo przepisywanie ich fragmentów w Ruście, a potem ignorowanie konieczności aktualizowania zależności przez pół roku albo dłużej.

Tak, mówię o tych wszystkich paczkach, które w ogóle jeszcze nie wspierają PyO3 0.23.x.

A potem jeszcze przyjdą i powiedzą, że powinniśmy zostawić temat zależności i bezpieczeństwa autorom projektów.

What could I be doing right now, on a Friday evening?

Of course filing bugs on random #Python / #RustLang packages requesting a #PyO3 version update and a new release, to support #PyPy 3.11 in #Gentoo. Because obviously the right way to maintain modern Python packages is to rewrite random parts of them in Rust, then neglect updating their dependencies for half a year or more.

Yes, I'm talking about all the packages that don't even support PyO3 0.23.x yet.

And then they'll come and say that we should leave dependency management and security to upstreams.

Dobra wiadomość: jest łatka dla #PyO3 dla wsparcia #PyPy 3.11, więc ruszamy z aktualizacjami w #Gentoo do przodu.

Złe wiadomości:

1. Mówimy o #RustLang, więc każdą paczkę trzeba łatać z osobna.
2. Nie chcemy trzymać dziesiątek kopii tej samej łatki, więc chcemy ją ciągnąć z sieci. Niestety, nie możemy użyć oryginalnej kopii, bo modyfikuje pliki, których nie znajdziemy w archiwum crate.
3. No więc trzymamy własną kopię tej łatki, ograniczoną do dostępnych plików. Niestety, pasuje tylko do wersji 0.23.4, a że mnóstwo paczek Pythona używa 0.23.3, to mamy sporo aktualizowania. Ale przynajmniej w większości przypadków wystarczy podmienić cyferki na liście `CRATES`, i wykasować `Cargo.lock`.
4. …no chyba że dana paczka akurat wymusza dokładnie 0.23.3, albo używa 0.22.x bądź starszej wersji. Wtedy bez łatania `Cargo.toml` się nie obędzie.

No ale idziemy do przodu. Tyle że warto jeszcze wspomnieć, że z paczek Pythona robi się coraz większy bajzel cyklicznych zależności, ale to już inna bajka.

Good news is, there's an upstream patch for #PyO3 to support #PyPy 3.11, so the #Gentoo updates are progressing.

Bad news:

1. Since it's #RustLang, we need to patch every single package separately.
2. To avoid keeping a dozen copies of the same patch, we'd like to fetch it. Unfortunately, we can't use upstream pull request directly since it edits a bunch of files that aren't in the crate.
3. Ok, so we host a modified patch and we're good here. Unfortunately, the patch doesn't apply cleanly to the previous minor release (0.23.3), so we need to manually update PyO3 in a lot of #Python packages. Good news is, that's usually updating our `CRATES` list and removing `Cargo.lock`.
4. …except for these packages that pin exactly to 0.23.3, or are still on 0.22.x or earlier. Then we also need to patch `Cargo.toml`.

But yeah, things are going forward. And then of course Python packages are becoming an increasingly convoluted mess of cyclic dependencies, but that's another story.

Właśnie dodałem wybór wersji Pythona pypy3_11 do #Gentoo!

Oznacza to, że:

• Wariant "pypy3" nie będzie już odnosił się do nowszych gałęzi #PyPy, i zamiast tego do momentu usunięcia będzie oznaczać "PyPy3.10".
• Nowe gałęzie PyPy otrzymywać będą własne warianty "pypy3_x".
• W trakcie okresów przejściowych, będzie można aktywować dwa warianty jednocześnie, co powinno ułatwić aktualizacje.
• Nowe warianty PyPy będą odwoływać się bezpośrednio do binarek "pypy3.x", a nie przez dowiązanie symboliczne "pypy3".
• Po wyłączeniu wariantu "pypy3", tym samym będzie można ustawić "pypy3", bo odwoływało się do dowolnej wersji. Najpewniej przestawimy je na użycie python-exec, tak jak teraz działa "python3".

To powiedziawszy, dopiero zacząłem testować paczki na PyPy3.11, więc potrwa chwilę, zanim będzie można w 100% przełączyć system. Zacząłem też dyskusję na temat momentu usunięcia wariantów #Python 3.10:

archives.gentoo.org/gentoo-dev

archives.gentoo.org[gentoo-dev] [RFC] The future of Python 3.10 target

pypy3_11 target just landed in #Gentoo!

This means that:

• "pypy3" target will no longer refer to new #PyPy branches, and instead will keep meaning "PyPy3.10" until it's removed.
• New PyPy branches are going have "pypy3_x" targets.
• Through the transitional periods, you will be able to simultaneously enable two PyPy3 targets. This should make upgrades easier.
• New PyPy targets are going to refer to "pypy3.x" executables directly, rather than via "pypy3" symlink.
• Once you disable "pypy3" target, you will be free to have "pypy3" symlink to refer to any version. We'll probably wrap it via python-exec, like we do "python3".

That said, I'm currently testing packages with the new target, so it will be a while before it can replace PyPy3.10. I've also started an RFC when to remove #Python 3.10 targets:

archives.gentoo.org/gentoo-dev

archives.gentoo.org[gentoo-dev] [RFC] The future of Python 3.10 target

RT The PyPy Project

Here's the blog post about the PyPY 7.3.18 release that came out yesterday. Thanks to @matti-p.bsky.social, our release manager! This the first version with 3.11 support (beta only so far).

Two cool other features in the thread below.

pypy.org/posts/2025/02/pypy-v7

PyPy · PyPy v7.3.18 releasePyPy v7.3.18: release of python 2.7, 3.10 and 3.11 beta The PyPy team is proud to release version 7.3.18 of PyPy. This release includes a python 3.11 interpreter. We are labelling it "beta" because it