<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linuxkurs-Blog (Posts about Python)</title><link>https://lannert.de/debloss/</link><description></description><atom:link href="https://lannert.de/debloss/en/categories/python.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2026 &lt;a href="mailto:lannert@hhu.de"&gt;Detlef Lannert&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/4.0/"&gt;
&lt;img alt="Creative Commons License BY-NC-SA"
style="border-width:0; margin-bottom:12px;"
src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png"&gt;&lt;/a&gt;</copyright><lastBuildDate>Fri, 27 Mar 2026 17:18:41 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Vibe Coding in Python, Rust oder Go?</title><link>https://lannert.de/debloss/en/posts/vibe-coding-in-python-rust-oder-go/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Ein &lt;a class="reference external" href="https://lifelog.my/episode/why-i-vibe-in-go-not-rust-or-python"&gt;Blog-Post&lt;/a&gt;
berichtet von guten (beeindruckenden!) Erfahrungen mit Vibe-Coding in Go und
erklärt, weshalb der Autor keine Chance sieht, mit Python oder Rust ähnlich
produktiv zu sein.&lt;/p&gt;</description><guid>https://lannert.de/debloss/en/posts/vibe-coding-in-python-rust-oder-go/</guid><pubDate>Fri, 27 Mar 2026 16:30:00 GMT</pubDate></item><item><title>OpenAI übernimmt Astral – was bedeutet das für die Python-Welt?</title><link>https://lannert.de/debloss/en/posts/openai-ubernimmt-astral-was-bedeutet-das-fur-die-python-welt/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Astral ist die Firma, die die (aus gutem Grund inzwischen sehr beliebten)
Python-Tools uv, ruff und ty entwickelt und entsprechende Kompetenz in
Rust-basierter Python-Software aufgebaut hat. Sie war risikokapitalfinanziert
und ist jetzt von OpenAI, der Firma hinter ChatGPT und DALL-E, übernommen
worden.&lt;/p&gt;
&lt;p&gt;Über mögliche Auswirkungen auf das Python-Universum
&lt;a class="reference external" href="https://simonwillison.net/2026/Mar/19/openai-acquiring-astral/"&gt;schreibt Simon Willison&lt;/a&gt;
in seinem Blog. Es scheint so, als müsste man sich wegen der Nutzung der
Astral-Tools (einstweilen) keine Sorgen machen …&lt;/p&gt;</description><guid>https://lannert.de/debloss/en/posts/openai-ubernimmt-astral-was-bedeutet-das-fur-die-python-welt/</guid><pubDate>Fri, 27 Mar 2026 16:00:00 GMT</pubDate></item><item><title>Angriffe auf Software-Lieferketten: Updates verzögern?</title><link>https://lannert.de/debloss/en/posts/angriffe-auf-software-lieferketten-updates-verzogern/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Immer wieder wird Software entdeckt, beispielsweise auf GitHub, die manipuliert
und mit Hintertüren versehen ist, durch die Bösewichte die Kontrolle über jeden
Rechner erlangen können, auf dem die Software läuft. Durch solche Malware kann man
auch betroffen sein, wenn man für seine eigene Python-Software die
Paketabhängigkeiten aktualisiert – und das vielleicht gerade deshalb, weil man
durch neuere Pakete Fehler in früheren Versionen beheben lassen will.&lt;/p&gt;
&lt;p&gt;Gerade jetzt ist das Python-Paket LiteLLM als
&lt;a class="reference external" href="https://lwn.net/Articles/1064479/"&gt;kompromittiert aufgefallen&lt;/a&gt;, das in der
Version 1.82.8 SSH-Keys, Zugangsdaten, Krypto-Börsen etc. geklaut hat.&lt;/p&gt;
&lt;p&gt;Deshalb gehen manche Entwickler und Admins dazu über, nicht die neuesten
Versionen der Abhängigkeiten zu benutzen, sondern ein paar Tage abzuwarten,
ob in der Zwischenzeit Probleme erkannt werden.&lt;/p&gt;
&lt;p&gt;Einige Subkommandos von &lt;code class="docutils literal"&gt;uv&lt;/code&gt; haben eine Option &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;--exclude-newer&lt;/span&gt;&lt;/code&gt;
(z.B. &lt;cite&gt;run &amp;lt;https://docs.astral.sh/uv/reference/cli/#uv-run&amp;gt;_&lt;/cite&gt;), mit der
Paketversionen, die neuer als ein bestimmtes Datum oder ein Zeitraum (&lt;code class="docutils literal"&gt;'1 week'&lt;/code&gt;)
sind, von der Auflösung von Abhängigkeiten ausgeschlossen werden können.
(Stattdessen kann global die Variable &lt;code class="docutils literal"&gt;UV_EXCLUDE_NEWER&lt;/code&gt; auf einen
geeigneten Wert gesetzt werden.)&lt;/p&gt;
&lt;p&gt;Dieses Feature ist für reproduzierbare Builds gedacht, kann aber auch zum
&lt;a class="reference external" href="https://sethmlarson.dev/pip-relative-dependency-cooling-with-crontab"&gt;Dependency Cooling&lt;/a&gt;
genutzt werden, um Probleme mit solchen Malware-Paketen zu vermeiden.&lt;/p&gt;</description><guid>https://lannert.de/debloss/en/posts/angriffe-auf-software-lieferketten-updates-verzogern/</guid><pubDate>Wed, 25 Mar 2026 19:00:00 GMT</pubDate></item><item><title>Allzu neue Python-Pakete ausschließen</title><link>https://lannert.de/debloss/en/posts/allzu-neue-python-pakete-ausschliessen/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Einige Subkommandos von &lt;code class="docutils literal"&gt;uv&lt;/code&gt; haben eine Option &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;--exclude-newer&lt;/span&gt;&lt;/code&gt;
(z.B. &lt;a class="reference external" href="https://docs.astral.sh/uv/reference/cli/#uv-run"&gt;run&lt;/a&gt;), mit der
Paketversionen, die neuer als ein bestimmtes Datum oder ein Zeitraum (&lt;code class="docutils literal"&gt;'1 week'&lt;/code&gt;)
sind, von der Auflösung von Abhängigkeiten ausgeschlossen werden können.
(Stattdessen kann global die Variable &lt;code class="docutils literal"&gt;UV_EXCLUDE_NEWER&lt;/code&gt; auf einen
geeigneten Wert gesetzt werden.)&lt;/p&gt;
&lt;p&gt;Dieses Feature ist für reproduzierbare Builds gedacht, kann aber auch zum
&lt;a class="reference external" href="https://sethmlarson.dev/pip-relative-dependency-cooling-with-crontab"&gt;Dependency Cooling&lt;/a&gt;
genutzt werden, um Probleme mit Malware-Paketen zu vermeiden.
(Der verlinkte Artikel beschreibt, wie man diese Funktionalität mit &lt;code class="docutils literal"&gt;pip&lt;/code&gt;
erreichen kann, das sie noch nicht voll unterstützt.)&lt;/p&gt;</description><guid>https://lannert.de/debloss/en/posts/allzu-neue-python-pakete-ausschliessen/</guid><pubDate>Thu, 05 Mar 2026 12:00:00 GMT</pubDate></item><item><title>And now for something completely different …</title><link>https://lannert.de/debloss/en/posts/and-now-for-something-completely-different/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;… unter diesem &lt;a class="reference external" href="https://en.wikipedia.org/wiki/And_Now_for_Something_Completely_Different"&gt;Filmtitel&lt;/a&gt;
als Überschrift enthält seit Python 3.8 die Freigabemitteilung (fast) jeder
Python-Version einen Abschnitt mit Fun facts.&lt;/p&gt;
&lt;p&gt;Hugo van Kemenade stellt &lt;a class="reference external" href="https://hugovk.dev/blog/2025/and-now/"&gt;in seinem Blogpost&lt;/a&gt;
die einzelnen Themen vor und geht ausführlich auf die zu den 3.14er Releases
gehörenden (und von ihm verfassten) Artikel ein, die sich alle mit interessanten
Aspekten rund um π beschäftigen.&lt;/p&gt;</description><guid>https://lannert.de/debloss/en/posts/and-now-for-something-completely-different/</guid><pubDate>Tue, 23 Dec 2025 17:00:26 GMT</pubDate></item><item><title>Ein schnelles, typsicheres API-Framework für Python mit Django-ORM</title><link>https://lannert.de/debloss/en/posts/ein-schnelles-typsicheres-api-framework-fur-python-mit-django-orm/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;&lt;a class="reference external" href="https://github.com/FarhanAliRaza/django-bolt"&gt;django-bolt&lt;/a&gt; ist ein auf
Rust aufbauendes API-Framework, schneller als FastAPI, das mit dem Django-ORM,
Django-Admin und Django-Paketen arbeitet und voll typisiert ist.&lt;/p&gt;</description><guid>https://lannert.de/debloss/en/posts/ein-schnelles-typsicheres-api-framework-fur-python-mit-django-orm/</guid><pubDate>Fri, 12 Dec 2025 19:00:00 GMT</pubDate></item><item><title>eBPF-Programme mit Pythoncode erzeugen</title><link>https://lannert.de/debloss/en/posts/ebpf-programme-mit-pythoncode-erzeugen/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Mit &lt;a class="reference external" href="https://github.com/pythonbpf/python-bpf"&gt;PythonBPF&lt;/a&gt;
kann man eBPF-Programme direkt von Python-Code aus erzeugen, ohne selbst den
C-Code schreiben zu müssen. PythonBPF generiert und compiliert das Programm
im Hintergrund, und die entstehende Objektdatei kann man direkt ins System laden.
Auch Hashmaps können mit Python-Mitteln definiert werden.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://xeon.me/gnome/pythonbpf/"&gt;Dieser Blog-Post&lt;/a&gt;
beschreibt das Vorgehen anhand eines Beispiels, und es gibt eine
&lt;a class="reference external" href="https://docs.google.com/presentation/d/1DsWDIVrpJhM4RgOETO9VWqUtEHo3-c7XIWmNpi6sTSo/edit"&gt;Präsentation&lt;/a&gt;
dazu.&lt;/p&gt;
&lt;p&gt;Was ist eBPF überhaupt? „Extended Berkeley Packet Filter“ steht für eine Methode, Code
in den Linux-Kernel einzubringen, ohne Kernelmodule zu schreiben und in den Kernel
hineinzubinden. Außerdem wird dieser Code formal verifiziert, damit er möglichst
nicht den Kernel lahmlegen oder kompromittieren kann.&lt;/p&gt;</description><guid>https://lannert.de/debloss/en/posts/ebpf-programme-mit-pythoncode-erzeugen/</guid><pubDate>Fri, 28 Nov 2025 19:00:00 GMT</pubDate></item><item><title>Einen Python-Editor oder ein Jupyter-Notebook in eine Webseite einbetten</title><link>https://lannert.de/debloss/en/posts/einen-python-editor-oder-ein-jupyter-notebook-in-eine-webseite-einbetten/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Mit &lt;a class="reference external" href="https://getpynote.net/"&gt;pynote&lt;/a&gt; kann man Python-Notebooks in Webseiten
einbetten – es genügt dafür ein Script-Tag und ein Element
&lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;&amp;lt;pynote&amp;gt;&amp;lt;/pynote&amp;gt;&lt;/span&gt;&lt;/code&gt;. Wenn das Element leer ist, bekommt man einen
Python-Editor mit leerem Arbeitsbereich, in den man Programmzeilen eintippen
und ausführen lassen kann; alternativ kann auch Code für den Editorbereich
vorgegeben oder aus einer Datei geladen werden. Wird eine &lt;code class="docutils literal"&gt;.ipynb&lt;/code&gt;-Datei
geladen, stellt pynote das Jupyter-Notebook dar, das wie gewohnt eine bearbeit- und
ausführbare Mischung aus Text- und Programmabschnitten sein kann.&lt;/p&gt;
&lt;p&gt;Auf der verlinkten Webseite gibt es eine Reihe von Beispielen zum Ausprobieren.&lt;/p&gt;</description><guid>https://lannert.de/debloss/en/posts/einen-python-editor-oder-ein-jupyter-notebook-in-eine-webseite-einbetten/</guid><pubDate>Thu, 27 Nov 2025 19:00:00 GMT</pubDate></item><item><title>CPython in Rust programmieren?</title><link>https://lannert.de/debloss/en/posts/cpython-in-rust-programmieren/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Es gibt einen &lt;a class="reference external" href="https://discuss.python.org/t/pre-pep-rust-for-cpython/104906"&gt;„Pre-PEP“&lt;/a&gt;
zur Verwendung von Rust in CPython.&lt;/p&gt;
&lt;p&gt;Guido und andere Core-Entwickler stehen diesen Ideen recht positiv gegenüber,
aber natürlich gibt es auch Bedenken und Vorbehalte (unterschiedlicher,
technischer wie nichttechnischer Art). Der Fokus des Pre-PEP wurde erst einmal
verändert – einstweilen soll das Augenmerk auf eigenständigen
Erweiterungsmodulen liegen. Die Umstellung der gesamten Python-Codebasis auf
Rust soll zu einem späteren Zeitpunkt neu betrachtet und diskutiert werden.&lt;/p&gt;</description><guid>https://lannert.de/debloss/en/posts/cpython-in-rust-programmieren/</guid><pubDate>Mon, 24 Nov 2025 19:00:00 GMT</pubDate></item><item><title>Python oder Rust?</title><link>https://lannert.de/debloss/en/posts/python-oder-rust/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;War es Hamlet, der die Frage stellte: „Python oder Rust?“ Egal, leicht zu
beantworten ist sie offenbar nicht, und viel ist darüber zu lesen, so auch
&lt;a class="reference external" href="https://blog.jetbrains.com/rust/2025/11/10/rust-vs-python-finding-the-right-balance-between-speed-and-simplicity/"&gt;dieser Artikel&lt;/a&gt;.
Kurzfassung der Antwort: Es kommt darauf an …&lt;/p&gt;</description><guid>https://lannert.de/debloss/en/posts/python-oder-rust/</guid><pubDate>Mon, 10 Nov 2025 17:00:00 GMT</pubDate></item></channel></rss>