Se vocês quiserem presentear alguém com uma coisa diferente… Andei fazendo umas camisetas e canecas com uns desenhos meus:
https://villares-shop.fourthwall.com/ (internacional)
https://umapenca.com/villares/ (Brasil)
Tem coisa sobre as bibliotecas de #Python para computação científica e geometria que eu uso na #ProgramaçãoCriativa e tem também aviãozinho colorido, plantas fractais e uns outros desenhos abstratos, tudo feito usando programação. #shapely #trimesh #numpy #py5 #processing
@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:
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.
Python Says Discriminatory DEI Policies More Important Than $1.5 Million Dollars
The Python Software Foundation has turned down a $1.5 Million Dollar grant from the US government, as it would require them to cease discriminatory Diversity, Equity, & Inclusion practices. ⌘ Read more
@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
PEP 8107: 2026 Term Steering Council election
This document describes the schedule and other details of the 2025 election for the Python steering council, as specified in PEP 13. This is the steering council election for the 2026 term (i.e. Python 3.15). ⌘ Read more
Mathieu Pasquet: slixmpp v1.12
This version is out mostly to provide a stable version with compatibility with the newly released Python 3.14, there are nonetheless a few new things on top.
Thanks to all contributors for this release!
Fixes- Bug in MUC self-ping ( XEP-0410) that would create a traceback in some uses
- Bug in SIMS ( XEP-0447) where all media would be marked as inline
- Python 3.14 breakage
- Prono … ⌘ Read more
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
PEP 810: Explicit lazy imports
This PEP introduces syntax for lazy imports as an explicit language feature: ⌘ 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
PEP 807: Index support for Trusted Publishing
This PEP proposes a standard mechanism through which arbitrary Python package indices can support “Trusted Publishing,” a misuse-resistant credential exchange scheme already implemented by the Python Package Index (PyPI). ⌘ Read more
PEP 809: Stable ABI for the Future
The Stable ABI as abi3 can no longer be preserved, and requires replacement. abi2026 will be the first replacement, providing resolution of current known incompatibilities, with planned retirement after at least 10 years. The next ABI (for example, abi2031) will have at least five years of overlap with the preceding one. ⌘ Read more
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
PEP 806: Mixed sync/async context managers with precise async marking
Python allows the with and async with statements to handle multiple context managers in a single statement, so long as they are all respectively synchronous or asynchronous. When mixing synchronous and asynchronous context managers, developers must use deeply nested statements or use risky workarounds such as overuse of AsyncExitStack. ⌘ Read more
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
PEP 804: An external dependency registry and name mapping mechanism
This PEP specifies a name mapping mechanism that allows packaging tools to map external dependency identifiers (as introduced in PEP 725) to their counterparts in other package repositories. ⌘ Read more
#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
PEP 803: Stable ABI for Free-Threaded Builds
Version 3.15 of the Stable ABI will be compatible with both free-threaded and GIL-enabled builds. To allow this, the PyObject internal structure and related APIs will be removed from version 3.15 of the Limited API, requiring migration to new API for common tasks like defining modules and most classes. ⌘ Read more
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:
PEP 802: Display Syntax for the Empty Set
We propose a new notation, {/}, to construct and represent the empty set. This is modelled after the corresponding mathematical symbol ‘\emptyset’. ⌘ Read more
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
PEP 800: Disjoint bases in the type system
To analyze Python programs precisely, type checkers need to know when two classes can and cannot have a common child class. However, the information necessary to determine this is not currently part of the type system. This PEP adds a new decorator, @typing.disjoint_base, that indicates that a class is a “disjoint base”. Two classes that have distinct, unrelated disjoint bases cannot have a common child class. ⌘ Read more