@movq@www.uninformativ.de Yeah, give it a shot. At worst you know that you have to continue your quest. :-)
Fun fact, during a semester break I was actually a little bored, so I just started reading the Qt documentation. I didn’t plan on using Qt for anything, though. I only looked at the docs because they were on my bucket list for some reason. Qt was probably recommended to me and coming from KDE myself, that was motivation enough to look at the docs just for fun.
The more I read, the more hooked I got. The documentation was extremely well written, something I’ve never seen before. The structure was very well thought out and I got the impression that I understood what the people thought when they actually designed Qt.
A few days in I decided to actually give it a real try. Having never done anything in C++ before, I quickly realized that this endeavor won’t succeed. I simply couldn’t get it going. But I found the Qt bindings for Python, so that was a new boost. And quickly after, I discovered that there were even KDE bindings for Python in my package manager, so I immediately switched to them as that integrated into my KDE desktop even nicer.
I used the Python KDE bindings for one larger project, a planning software for a summer camp that we used several years. It’s main feature was to see who is available to do an activity. In the past, that was done on a large sheet of paper, but people got assigned two activities at the same time or weren’t assigned at all. So, by showing people in yellow (free), green (one activity assigned) and red (overbooked), this sped up and improved the planning process.
Another core feature was to generate personalized time tables (just like back in school) and a dedicated view for the morning meeting on site.
It was extended over the years with all sorts of stuff. E.g. I then implemented a warning if all the custodians of an activitiy with kids were underage to satisfy new the guidelines that there should be somebody of age.
Just before the pandemic I started to even add support for personalized live views on phones or tablets during the planning process (with web sockets, though). This way, people could see their own schedule or independently check at which day an activity takes place etc. For these side quests, they don’t have to check the large matrix on the projector. But the project died there.
Here’s a screenshot from one of the main views: https://lyse.isobeef.org/tmp/k3man.png
This Python+Qt rewrite replaced and improved the Java+Swing predecessor.
@lyse@lyse.isobeef.org Hmmmmmmmmmmmm … guess I should take a look at Qt. 🤔 That’s the one popular toolkit that I’ve never really tried for some reason. I really don’t like C++ (might as well use Rust), so I’ll also use Python.
Meus cursos no Sesc em novembro!
@movq@www.uninformativ.de Don’t you worry, this was meant as a joke. :-D
There was a time when I thought that Swing was actually really good. But having done some Qt/KDE later, I realized how much better that was. That were the late KDE 3 and early KDE 4 days, though. Not sure how it is today. But back then it felt Trolltech and the KDE folks put a hell lot more thought into their stuff. I was pleasantly surprised how natural it appeared and all the bits played together. Sure, there were the odd ends, but the overall design was a lot better in my opinion.
To be fair, I never used it from C++, always the Python bindings, which were considerably more comfortable (just alone the possibility to specify most attributes right away as kwargs in the constructor instead of calling tons of setters). And QtJambi, the Java binding, was also relatively nice. I never did a real project though, just played around with the latter.
@lyse@lyse.isobeef.org (… I am making a Zalgo Generator in Python right now, because I need it for something else … 🤣)
This is Python Brasil #PythonBrasil2025 #Python #PyCon
Muito feliz de ver ontem o @adorilson@adorilson receber o maior prêmio da comunidade brasileira de #Python na #PythonBrasil2025, muito merecido, o sujeito é uma força inesgotável para ajudar as pessoas! #TremeaFerri
More stuff for sale! Help fund by work!
More stuff for sale! Help fund my work!
Gente, ainda tinha algumas vagas nos tutoriais da #PythonBrasil2025 aqui em São Paulo, que são de graça:
https://pybr2025.eventbrite.com.br/
(esta semana de terça a quinta na #PythonBrasil, independente das palestras sexta, sábado e domingo, cujo ingresso era pago e já esgotou) #python
Que tal vestir desenhos feitos com #Python e apoiar o seu artista-programador local ;-)
https://umapenca.com/villares
ou fora do Brasil: https://villares-shop.fourthwall.com/
Se você vier para a #PythonBrasil em #SãoPaulo vamos estar tendo mini adesivos!
Beyond the AI Hype: Guido van Rossum on Python’s Philosophy, Simplicity, and the Future of Programming
Comments ⌘ Read more
Security updates for Friday
Security updates have been issued by Debian (redis and valkey), Fedora (docker-buildkit, ibus-bamboo, pgadmin4, webkitgtk, and wordpress), Mageia (kernel-linus, kmod-virtualbox & kmod-xtables-addons, and microcode), Oracle (compat-libtiff3 and udisks2), Red Hat (rsync), Slackware (python3), SUSE (chromium, cJSON, digger-cli, glow, go1.24, go1.25, go1.25-openssl, grafana, libexslt0, libruby3_4-3_4, pgadmin4, python311-python-socketio, and squid), and Ubuntu (dpdk, libhtp, v … ⌘ Read more
Ubuntu 25.10 released
Ubuntu\
25.10, “Questing Quokka”, has been released. This release includes
Linux 6.17, GNOME 49, GCC 15, Python 3.13.7,
Rust 1.85, and more. This release also features Rust-based
implementations of sudo and coreutils; LWN covered the switch to the
Rust-based tools in March. The 25.10 version of Ubuntu flavors
Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu
Kylin, Ubuntu MATE, Ubun … ⌘ Read more
Security updates for Thursday
Security updates have been issued by AlmaLinux (gnutls, kernel, kernel-rt, and open-vm-tools), Debian (chromium, python-django, and redis), Fedora (chromium, insight, mirrorlist-server, oci-seccomp-bpf-hook, rust-maxminddb, rust-prometheus, rust-prometheus_exporter, rust-protobuf, rust-protobuf-codegen, rust-protobuf-parse, rust-protobuf-support, turbo-attack, and yarnpkg), Oracle (iputils, kernel, open-vm-tools, redis, and valkey), Red Hat (perl-File-Find-Rule and perl-File-Find-Rul … ⌘ Read more
[$] LWN.net Weekly Edition for October 9, 2025
Inside this week’s LWN.net Weekly Edition:
Front: Kernel Rust features; systemd v258, part 2; Cauldron kernel hackers; BPF for GNU tools; 6.18 merge window, part 1; Lifetime-end pointer zapping; Robot Operating System.
Briefs: OpenSSH 10.1; Firefox profiles; Python 3.14; U-Boot v2025.10; FSF presidency; Quotes; …
Announcements: Newsletters, conferences, security upda … ⌘ Read more
Security updates for Wednesday
Security updates have been issued by Fedora (apptainer, civetweb, mod_http2, openssl, pandoc, and pandoc-cli), Oracle (kernel), Red Hat (gstreamer1-plugins-bad-free, iputils, kernel, open-vm-tools, and podman), SUSE (cairo, firefox, ghostscript, gimp, gstreamer-plugins-rs, libxslt, logback, openssl-1_0_0, openssl-1_1, python-xmltodict, and rubygem-puma), and Ubuntu (gst-plugins-base1.0, linux-aws-6.8, linux-aws-fips, linux-azure, linux-azure-nvidia, linux-gke, linux-nvidia-tegra- … ⌘ Read more
Python 3.14.0 released
Version\
3.14.0 of the Python language has been released. There are a lot of
changes this time around, including official support for free threading, template string literals, and much more; see
the announcement for details. ⌘ Read more
Python 3.14.0 (final) is here
This is the stable release of Python 3.14.0
Python 3.14.0, the newest major release of the Python programming language is here!
U-Boot v2025.10 released
Version 2025.10 of the U-Boot boot loader
has been released with new features, including Python tooling improvements,
cleanups for implicit header inclusions, better support for numerous Arm
platforms, support for new RISC-V platforms, better documentation, and
more. Maintainer Tom Rini also reports on some project news:
As I mentioned with the v2025.07
release, I was looking for a few people to step up and help with the
overall organization and management of the project. To that … ⌘ Read more
Um dia em que você conta pra alguém sobre a #LiveDePython do @dunossauro@dunossauro nunca é um dia perdido!
Random musing from a #Python creative coder:
I have this naïve cumbersome thing for dealing with collinear vertices in a polygon (like a vertex in the middle of an edge that doesn’t change the shape of the polygon, and I tried to replace it with some clever #shapely method such as .simplify(…) or .buffer(0) and failed miserably. So I’ll have to keep my home made check-area-every-three-vertices thing for now…
I’m kind of proud of my idea of representing polygons as a set of frozensets of edge vertex pairs because it eliminates all visually equivalent rotations and reverse ordered rotations (that is, if you don’t have pesky collinear vertices).
I was always under the wrong impression that Tkinter is bundled with Python.
It should be. Maybe your distro splits it off. 🤔
@movq@www.uninformativ.de I never programmed with Tkinter myself and it’s been ages that I ran a program which used it. I always thought that it looks awful. But maybe there are nicer themes these days. I just wanted to give the demo python3 -m tkinter a try, but this module doesn’t exist. I was always under the wrong impression that Tkinter is bundled with Python.
@lyse@lyse.isobeef.org Xfce is nice, but it’s also mostly GTK. I don’t really know the answer yet. For now, I’ll just avoid anything that uses GTK4.
For my own programs, I might have a closer look at Tkinter. I was complaining recently that I couldn’t find a good file manager, so it might be an interesting excercise to write one in Python+Tkinter. 🤔 (Or maybe that’s too much work, I don’t know yet.)
Sábados de manhã em outubro e novembro no #SescAvPaulista: Grupo de estudos em #Python
https://www.sescsp.org.br/programacao/grupo-de-estudos-em-python-primeiros-passos/
Security updates for Friday
Security updates have been issued by AlmaLinux (idm:DL1), Debian (gegl and haproxy), Fedora (ffmpeg, firefox, freeipa, python-pip, rust-astral-tokio-tar, sqlite, uv, webkitgtk, and xen), Oracle (idm:DL1, ipa, kernel, perl-JSON-XS, and python3), Red Hat (git), SUSE (curl, frr, jupyter-jupyterlab, and libsuricata8_0_1), and Ubuntu (linux-aws, linux-lts-xenial, linux-aws-fips, linux-fips, linux-gcp-fips, linux-azure, linux-azure, linux-azure-6.8, linux-fips, linux-gcp-fips, and l … ⌘ Read more
#py5 comes with some cool integrations with other #Python libraries, such as the ability to convert #Pillow images, #shapely and #trimesh objects.
But you can create and register your own conversion functions too!
Security updates for Thursday
Security updates have been issued by AlmaLinux (perl-JSON-XS), Debian (chromium and openssl), Fedora (bird, dnsdist, firefox, mapserver, ntpd-rs, python-nh3, rust-ammonia, skopeo, sqlite, thunderbird, and xen), Oracle (perl-JSON-XS), Red Hat (kernel, kernel-rt, and libvpx), SUSE (afterburn, cairo, docker-stable, firefox, nginx, python-Django, snpguest, and warewulf4), and Ubuntu (libmspack, libxslt, linux, linux-aws, linux-aws-5.15, linux-gcp, linux-gcp-5.15, linux-gkeop, linu … ⌘ Read more
Security updates for Wednesday
Security updates have been issued by AlmaLinux (kernel, kernel-rt, mysql:8.0, and openssh), Debian (libcommons-lang-java, libcommons-lang3-java, libcpanel-json-xs-perl, libjson-xs-perl, libxml2, open-vm-tools, and u-boot), Fedora (bird, dnsdist, mapserver, ntpd-rs, python-nh3, and rust-ammonia), Oracle (kernel and mysql:8.0), Red Hat (cups, postgresql:12, and postgresql:13), SUSE (cJSON-devel, gimp, kernel-devel, kubecolor, open-vm-tools, openssl-1_1, openssl-3, and ruby3.4-ruby … ⌘ Read more
Security updates for Tuesday
Security updates have been issued by Debian (python-internetarchive and tiff), Fedora (nextcloud), Oracle (kernel, openssh, and squid), Red Hat (kernel, kernel-rt, and ncurses), SUSE (afterburn and chromium), and Ubuntu (open-vm-tools, ruby-rack, and tiff). ⌘ Read more
Amanhã no #SescAvPaulista rola o último encontro do semestre do Grupo de Estudos em #Python (https://hackmd.io/@sesc-av-paulista/estudos-em-python), se quiser participar é só chegar 14h para pegar uma senha grátis. A atividade é das 14h30 às 16h30.
Em outubro vou dar este curso quintas à tarde com 4 encontros:
https://www.sescsp.org.br/programacao/ilustracoes-vetoriais-para-grandes-formatos-com-programacao/
Atenção atenção!
Vocês sabem que é possível ler de graça a versão em português do Python Fluente do Luciano Ramalho, não é mesmo? (https://pythonfluente.com)
Agora, se você sonhava com uma edição em papel, ajude o @lr a fazer ela acontecer contribuindo no:
Atenção atenção!
Vocês sabem que é possível ler de graça a versão em português do Python Fluente do Luciano Ramalho, não é mesmo?
(https://pythonfluente.com)
Agora, se você sonhava com uma edição em papel, ajude o @lr a fazer ela acontecer contribuindo no:
#Python is for artists too!
I made some #Python #numpy, #shapely, #trimesh & #py5bot stickers!
PS: I asked the PSF to check if the logos were alright: “you can change the colors and add thing inside, but not change the shape or position of the snakes”. So I had to change my original Python reading club logo…
#Python is for artists too!
I made some #Python #numpy, #shapely, #trimesh & #py5 stickers!
PS: I asked the PSF to check if the logos were alright: “you can change the colors and add elements inside, but not change the shape or position of the snakes”. So I had to change my original Python Reading Club logo…
Salve @elmoneto@elmoneto !
Acho que quero fazer algo parecido com isso aqui, mas a minha incompetência / inexperiência me derruba…
Tenho um geodataframe com praças e parques, e um com massa de vegetação significativa (que peguei no geosampa), queria saber calcular o quanto de cada praça está coberto de vegetação significativa…
Eu soube fazer um overlay de instersecção, filtrar as com área menor que 100m2 e usar o .explore() pra colorir as massas por área, já fiquei feliz, mas queria mais rsrsrs.
Salve @elmoneto@elmoneto !
Acho que quero fazer algo parecido com isso aqui, mas a minha incompetência / inexperiência me derruba…
Tenho um geodataframe com praças e parques, e um com massa de vegetação significativa (que peguei no geosampa), queria saber calcular em uma coluna o quanto cada praça está coberta de vegetação significativa…
Eu soube fazer um overlay de instersecção, filtrar as com área menor que 100m2 e usar o .explore() pra colorir as massas por área, já fiquei feliz, mas queria mais rsrsrs.
«The Hudson River is flowing through the heart of Times Square this month.
Press play to hear from Marina Zurkow & James Schmitz [@hx2A@mastodon.art] the artists behind ‘The River is a Circle (Times Square Edition)’ - September’s #MidnightMoment, a visual “combination of live data and a matrix of researched information about the Hudson River ecology,” says Zurkow.»
Quem vem pra #PythonBrasil em #SãoPaulo?
Hoje abriram as inscrições para os tutoriais, grátis, vagas limitadas!
(Aproveite e avise aquele seu amigo gringo que ele pode comprar um ingresso de estudante doação para alguém que não poderia participar do evento completo com as palestras! :D)
David Amos: #GraphTheory with #Python
https://www.youtube.com/watch?v=yXTDslxVfdM&list=PLLIPpKeh9v3ZFEHvNd5xqUrCkqLgXnekL
«Welcome to the #AutomatingGIS processes course! Through interactive lessons and hands-on exercises, this course introduces you to #GeographicDataAnalysis using the #Python programming language. If you are new to Python, we recommend you first start with the Geo-Python course (geo-python.readthedocs.io) before diving into using it for GIS analyses in this course.
Geo-Python and Automating GIS Processes (‘#AutoGIS’) have been developed by the Department of Geosciences and Geography at the University of Helsinki, Finland. The course has been planned and organized by the #DigitalGeographyLab. The teaching materials are openly accessible for anyone interested in learning.»
«Welcome to the #AutomatingGIS processes course! Through interactive lessons and hands-on exercises, this course introduces you to #GeographicDataAnalysis using the #Python programming language. If you are new to Python, we recommend you first start with the Geo-Python course (geo-python.readthedocs.io) before diving into using it for GIS analyses in this course.
Geo-Python and Automating GIS Processes (‘#AutoGIS’) have been developed by the Department of Geosciences and Geography at the University of Helsinki, Finland. The course has been planned and organized by the #DigitalGeographyLab. The teaching materials are openly accessible for anyone interested in learning.»
https://autogis-site.readthedocs.io/en/latest/
(via Paul Walter no linkedin)
#Python #cbers4a #satelite #SensoriamentoRemoto
https://cbers4asat.readthedocs.io/pt-br/latest/
cc @elmoneto@elmoneto (você viu isso? eu não manjo nada mas já fiquei animado…)
https://villares-shop.fourthwall.com (International)
https://umapenca.com/villares (BR)
#Python #CreativeCoding #Processing #py5 #TShirt #GenerativeArt #SupportArtists
You can still help sponsor the Brazilian national #Python conference!
You can also donate a ticket so that a student can attend!
#PythonBrasil2025
Should I make more T-shirts?
https://villares-shop.fourthwall.com/
https://umapenca.com/villares/
#Python #Processing #py5 #CreativeCoding #FLOSS #numpy #shapely #trimesh
Cheers @mkennedy@mkennedy & @brianokken@brianokken , listening late to @pythonbytes@pythonbytes episode 446, great as usual!
Listening to the JetBrains survey thing I always worry about the sampling bias… All the cool scientists using Python, all the journalists doing data journalism, the urban planners and geospace people, the blender people, the people doing movie post-production pipelines, all the hobbyists… I think the survey doesn’t reach or represent a large chunk of Python users.
“A Better Default #colormaps for #Matplotlib | #SciPy 2015 | Nathaniel Smith and Stéfan van der Walt”
“A Better Default #Colormap for #Matplotlib | #SciPy 2015 | Nathaniel Smith and Stéfan van der Walt”
More stuff!
https://www.redbubble.com/i/t-shirt/Recursive-hexagons-by-villares/173676693.MV45S
Novidade no #Python 3.14 muito bem explicada pelo animado @mathsppblog@mathsppblog !
Adoro esse ponto reforçado pelo @lr, no Python Fluente! Sempre uso uma frase parecida com essa nas minhas aulas!
«Para entender uma atribuição em Python, leia primeiro o lado direito: é ali que o objeto é criado ou recuperado. Depois disso, a variável do lado esquerdo é vinculada ao objeto, como uma etiqueta colada a ele. Esqueça as caixas.»
LR in Python Fluente: Variáveis não são caixas
the code to generate this image (have you noticed it is a 3D mesh?)
is here: https://abav.lugaralgum.com/selected-work/py5band/
Folks I finally made something I wanted to make for a long time, a T-Shirt design thing.
Available at Rednubble https://www.redbubble.com/i/t-shirt/numpy-shapely-trimesh-and-py5-by-villares/173500912.7H7A9?asc=u
And also available in Brazil at Uma Penca: https://umapenca.com/villares/
You can also buy stickers and other items… soon my “Python Reading Club” and “Python is also for artists!” designs will be available. This will help support my free and open source activities. I make free and open educational resources, I teach at several places and I need to make ends meet.
#python #numpy #shapely #trimesh #py5 #creativeCoding #FLOSS
Folks I finally made something I wanted to make for a long time, a T-Shirt design thing.
Available at Redbubble https://www.redbubble.com/i/t-shirt/numpy-shapely-trimesh-and-py5-by-villares/173500912.7H7A9?asc=u
And also available in Brazil at Uma Penca: https://umapenca.com/villares/
You can also buy stickers and other items… soon my “Python Reading Club” and “Python is also for artists!” designs will be available. This will help support my free and open source activities. I make free and open educational resources, I teach at several places and I need to make ends meet.
#python #numpy #shapely #trimesh #py5 #creativeCoding #FLOSS
Folks, I finally made something I wanted to make for a long time, a T-Shirt design thing.
Available at Redbubble https://www.redbubble.com/i/t-shirt/numpy-shapely-trimesh-and-py5-by-villares/173500912.7H7A9?asc=u
And also available in Brazil at Uma Penca: https://umapenca.com/villares/
You can also buy stickers and other items… soon my “Python Reading Club” and “Python is also for artists!” designs will be available. This will help support my free and open source activities. I make free and open educational resources, I teach at several places and I need to make ends meet.
#python #numpy #shapely #trimesh #py5 #creativeCoding #FLOSS
#Pyxel is a retro inspired #GameEngine for #Python, it’s very impressive!
It’s not hard to generate a static HTML page that loads your game to run on the browser with #pyodide (WASM). And it comes with an assets editor and a #chiptune making tool.
Interactive demo of #shapely’s centroid for the triangle :)
import py5
from shapely import Polygon, Point
def setup():
py5.size(400, 400)
py5.stroke_join(py5.ROUND)
def draw():
py5.background(200)
pts = ((100, 100), (300, 100),
(py5.mouse_x, py5.mouse_y))
xs, ys = zip(*pts)
cx = sum(xs) / len(xs)
cy = sum(ys) / len(ys)
tri = Polygon(pts)
py5.no_fill()
py5.stroke_weight(1)
py5.stroke(0, 200, 0)
py5.shape(Point(cx, cy).buffer(5))
py5.stroke(0, 0, 200)
py5.shape(tri.envelope.buffer(2))
py5.shape(tri.envelope.centroid.buffer(5))
py5.stroke_weight(3)
py5.stroke(0)
py5.shape(tri)
py5.fill(0)
py5.shape(tri.centroid.buffer(2))
py5.run_sketch(block=False)
#Python is for artists too @ #SescAvPaulista
(Oficina do Clubinho Gráfico aos domingos)
#Diátaxis and #Python #documentation
https://discuss.python.org/t/diataxis-and-python-documentation/41836
Galera, minha atividade aberta (presencial) de #Python no #SescAvPaulista está rolando às terças à tarde este semestre.
Todas as pessoas são bem-vindas (não precisa ter conhecimentos prévios):
Veja um pouco do que vamos conversar (e tem alguns registros do que já conversamos):
Galera, minha atividade aberta (presencial) de #Python no #SescAvPaulista está rolando às terças à tarde este semestre.
Todas as pessoas são bem-vindas, não precisa ter conhecimentos prévios, veja no link mais detalhes, um pouco do que vamos conversar (e tem alguns registros do que já conversamos):
Queria ouvir coisas novas e dei de caras com a lista de álbuns do ano do Resident Advisor, que é boa para apanhar as pérolas que nos passaram ao lado nos últimos 20 anos:
2006: Booka Shade - Movements
2007: Burial - Untrue
2008: Shed - Shedding the Past
2009: DJ Sprinkles - Midtown 120 Blues
2010: Caribou - Swim
2011: Nicolas Jaar - Space Is Only Noise
2012: Voices from the Lake - Voices from the Lake
2013: James Holden - The Inheritors
2014: Andy Stott - Faith in Strangers
2015: Floating Points - Elaenia
2016: Babyfather - “BBF” Hosted by DJ Escrow
2019: FKA Twigs - Magdalene
2020: DJ Python - Mas Amable
2021: Space Afrika - Honest Labour
2022: D. Tiffany and Roza Terenzi - Edge of Innocence
2023: Kelela - Raven
2024: Loidis - One Day
I have a #CreativeCoding course at Domestika, teaching the first steps of #Python and #py5. The feedback from students always makes me happy!
Check out this work by a student:
https://www.domestika.org/en/projects/1841169-programacion?ttag=a_b_a_villares
And other testimonials:
I have a #CreativeCoding course at Domestika, teaching the first steps of #Python and #py5. The feedback from students always makes me happy!
Check out this work by a student:
https://www.domestika.org/en/projects/1841169-programacion?ttag=a_b_a_villares
And other testimonials:
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going supper strong and the “new snake_case names” are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with “CamelCase Processing names” I’m not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything with it.
The great pure Python Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battle…
The unrelated Brython based site
p5py.comseems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is what I’m using most nowadays.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going super strong and the “new snake_case names” are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with “CamelCase Processing names” I’m not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything with it.
The great pure Python Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battle…
The unrelated Brython based site
p5py.comseems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is what I’m using most nowadays.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going super strong and the “new snake_case names” are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with “CamelCase Processing names” I’m not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything with it.
The great “pure Python” (no Java required) Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battle…
The unrelated Brython based site
p5py.comseems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is what I’m using most nowadays.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going super strong and the “new snake_case names” are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with “CamelCase Processing names” I’m not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything new with it.
The great “pure Python” (no Java required) Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battle…
The unrelated #Brython based site
p5py.comseems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is the version of pyp5js I’m using most nowadays.
** Make awk rawk **
A friend online recently replied to something I wrote about awk by saying:
[…] it’s a danged shame [awk] didn’t continue to evolve the way Ruby, Python, PHP have evolved over the decades.
I had exactly this thought while working on my slightly unhinged“lets see if I can implement a basic scheme using awk by writing an assembler and VM in awk,” skwak. Which eventually lead me to start noodling on how to layer in some modern niceties into awk, without breaking awk’s portability.
… ⌘ Read more
DeprecationWarning: 'mode' parameter is deprecated and will be removed in Pillow 13 (2026-10-15)
img1 = PIL.Image.fromarray(my_array, mode="RGB")
So I went to see the documentation:
https://hugovk-pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.fromarray
And came out empty handed, that is, couldn’t understand what to do instead :(
And the plot thickens:
https://github.com/python-pillow/Pillow/pull/9063
(@py5coding I guess you’ll want to check this out at some point. py5_tools.animated_gif uses this)
DeprecationWarning: 'mode' parameter is deprecated and will be removed in Pillow 13 (2026-10-15)
img1 = PIL.Image.fromarray(my_array, mode="RGB")
So I went to see the documentation:
https://hugovk-pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.fromarray
And came out empty handed, that is, couldn’t understand what to do instead :(
And the plot thickens (this affects many projects, there are some workarounds, but some argument about “reverting” this change allowing some “mode” on import):
https://github.com/python-pillow/Pillow/pull/9063
(@py5coding@py5coding I guess you’ll want to check this out at some point. py5_tools.animated_gif uses mode=“RGB”)
#Pillow #PIL #Python
On Image.fromarray():
DeprecationWarning: 'mode' parameter is deprecated and will be removed in Pillow 13 (2026-10-15)
img1 = PIL.Image.fromarray(my_array, mode="RGB")
So I went to see the documentation:
https://hugovk-pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.fromarray
And came out empty handed, that is, couldn’t understand what to do instead :(
And the plot thickens (this affects many projects, there are some workarounds, but some argument about “reverting” this change allowing some “mode” on import):
https://github.com/python-pillow/Pillow/pull/9063
(@py5coding@py5coding I guess you’ll want to check this out at some point. py5_tools.animated_gif uses mode=“RGB”)
#GitHub #GitHubPages #fail This is driving me mad…
Images randomly deciding not to load on all my pages.
Is it just me? Is it my browser’s fault? Is it just in Brazil?
I was working on this #shapely + #trimesh page… and I can only see the last image (the animated gif)!
https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/shapely-e-trimesh.html
#GitHub #GitHubPages #fail This is driving me mad…
Images randomly deciding not to load on all my pages.
Is it just me? Is it my browser’s fault? Is it just in Brazil?
I was working on this #shapely + #trimesh page… and I can only see the last image (the animated gif)!
https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/shapely-e-trimesh.html
Update: On this exact page I have bungled the image URLs (I blame Marktext for being stupid and not using a relative reference). But I swear loading problems have been going on other well formed pages.
This is your friendly reminder that you could be making #PaperObjects with #Python and #py5, you know?
https://github.com/villares/Paper-objects-with-Processing-and-Python/
(Mind you that GitHub images are mostly failing to load here today for some unknown reason)
If you like this, support my work:
https://www.paypal.com/donate/?hosted_button_id=5B4MZ78C9J724
https://liberapay.com/Villares
https://wise.com/pay/me/alexandrev562
#Processing #CreativeCoding
I wish I could watch this (maybe they’ll record it… but I’m not sure):
“From #Fortran to #Python: A Conversation Across Generations of #ScientificComputing” #PyOhio
https://www.pyohio.org/2025/program/talks/from-fortran-to-python/
“Explicando Dados #Geoespaciais em #Python”
I have a Python script that transforms the original YouTube channel Atom feed into a more useful Atom feed by removing the spam description and replacing it with the video duration, filtering out videos by title, duration, etc. I just updated it to exclude the damn Shorts garbage more efficiently. Finally, YouTube updated their Atom feed generation, so that the video URL contains /short/ if it’s of this useless kind. Never thought that they ever actually will improve their Atom feeds. Thank you, much appreciated!
The command line version is here:
https://github.com/villares/sketch-a-day/blob/main/admin_scripts/pngs_to_gif.py
I should add a “public domain dedication” to both scripts…
I have this very simple #Python script that uses #imageio to convert all PNG files on a folder into a #GIFAnimation, and this is a #FreeSimpleGUI version of it (I usually run a command line version).
As I usually run #gifsicle on the command line after creating a GIF, I decided to update it to add #pygifsicle to do it for me and save a step.
https://github.com/villares/sketch-a-day/blob/main/admin_scripts/make-gif.py
“Brett Cannon on #Python humans… and packaging”
https://www.bitecode.dev/p/brett-cannon-on-python-humans-and
Um exemplo mínimo de como usar #Python para ler dados de uma planilha #Excel com a biblioteca #openpyxl e como modificar um arquivo #Word com a biblioteca #docx
https://gist.github.com/villares/560e231da78cd1b8f5701c5a6897348f
Another hacky #Python script using the #HackMD API… this one is to change the write permissions… you might want to adapt it or check out the other API helper methods:
@movq@www.uninformativ.de I’d love to have a Python script pushing my local CSV, too. But that’s never gonna fly, not in a thousand years. I can’t imagine that ever becoming reasonably stable without having to fix everything after the reverse-engineered API changes again.
@lyse@lyse.isobeef.org I do my timetracking in a little Python script, locally. Every now and then, I push the data to our actual service. Problem solved – but it’s a completely unpopular approach, they all want to use the web site. I don’t get it. Then, of course, when it’s down, shit hits the fan. (Luckily, our timetracking software is neither developed nor run by us anymore. It’s a silly cloud service, but the upside is that I’m not responsible anymore. 🤷)
Some of our oldschool devs tried to roll out local timetracking once, about 15 years ago. I don’t remember anymore why they failed …
This is developed inhouse, I’m just so glad that we’re not a software engineering company. Oh wait. How embarrassing.
Oh to be anonymous on the internet. That must be nice. 😅
Cheers @danzin@danzin, was it you who added a PR to core #Python about pprint?
(listening to #corepy #podcast)
Update: Thank you so much for improving Python @danzin@danzin !
core.py: PyCon US 2025 Recap
Starting from: 01:32:45 https://podcasters.spotify.com/pod/show/corepy/episodes/PyCon-US-2025-Recap-e347dc3
https://anchor.fm/s/eb6edc3c/podcast/play/104100675/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2025-5-13%2Fb281ac3a-b0ec-49b9-b31d-7a90031e910d.mp3#t=5565
Histórias do #Python & #FLOSS no Brasil
Entrevista com o @gwidion@gwidion
https://www.youtube.com/live/ia8aOZsDYOM
cc @apyb@apyb
Stories from Python History - #TalkPythonToMe Ep. 513
I’m hoping @geofft@geofft can fix this 2022 issue on #uv built #Python binaries that breaks #tkinter, wishing him best of luck!
https://github.com/astral-sh/python-build-standalone/issues/129#issuecomment-3016695658
Updating my “how install and use #py5” pages, check them out if you want to “… draw and experiment some #CreativeCoding with #Python …”
EN: https://abav.lugaralgum.com/como-instalar-py5/index-EN.html
ES: https://abav.lugaralgum.com/como-instalar-py5/index-ES.html
Thumbnail novo para a minha página sobre compreensão de listas… #Python
https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/comprehension.html
(preciso dar uma melhoradinha na página, por umas imagens, arrumar links quebrados)
#python Alguém tem o contato do Juan Lopes? @gwidion@gwidion ?
Acho que ele ia gostar de ver isso aqui:
Security updates for Tuesday
Security updates have been issued by Debian (python-django), Fedora (krb5), Mageia (cockpit, golang, kernel, and kernel-linus), SUSE (augeas, go1.23, go1.24, iputils, libwebp, transfig, and xen), and Ubuntu (amd64-microcode, apport, linux-azure, linux-azure, linux-azure-4.15, linux-azure-fips, linux-raspi, systemd, and tomcat). ⌘ Read more