datasette-ports 0.4 affiche le PID des instances Datasette en cours, pour le profileur de Python 3.15
Simon Willison a publié datasette-ports 0.4. Ce plugin détecte et liste toutes les instances de Datasette présentes sur la machine. La nouvelle version fonctionne avec la dernière version de Datasette et affiche le PID de chaque processus trouvé. L'intérêt : le PID facilite le rattachement du nouveau profileur à échantillonnage de Python 3.15 à un serveur déjà lancé. La mise à jour est modeste, mais elle montre comment l'auteur adapte ses outils aux nouveautés du langage. • Le plugin est compatible avec la version actuelle de Datasette. • Le PID apparaît désormais dans la liste des instances. • Il aide à connecter le profileur de Python 3.15.
Traité par IA depuis Simon Willison ; édité par Hamidun News
Simon Willison, l'auteur de Datasette, a publié la version 0.4 de son plugin datasette-ports. Celui-ci détecte et liste toutes les instances de Datasette lancées sur la machine. La version 0.4 fonctionne avec la dernière version de Datasette et affiche en plus le PID de chaque processus trouvé. Le changement est modeste, mais son objectif pratique est clair : simplifier le rattachement du nouveau profileur de Python 3.15.
Ce qui change dans la version 0.4
Datasette est un outil open source pour explorer et publier des données, principalement issues de SQLite. Chez les développeurs qui l'utilisent beaucoup, plusieurs serveurs s'accumulent facilement sur différents ports : un pour une expérience, un deuxième pour la base de travail, un troisième oublié depuis la semaine dernière. datasette-ports répond à ce problème du quotidien. Il montre quelles instances tournent actuellement et où les trouver.
La version 0.4 apporte deux changements :
- le plugin fonctionne de nouveau avec la dernière version de Datasette ;
- la liste des instances trouvées affiche désormais l'identifiant du processus (PID).
L'annonce ne donne aucun détail sur le fonctionnement interne. L'auteur s'est borné à deux phrases et à un lien vers la version sur GitHub.
Pourquoi un PID était nécessaire
Willison explique lui-même sa motivation à l'aide d'un seul lien. Connaître le PID facilite le rattachement du nouveau profileur de Python 3.15. Le lien renvoie à la section « sampling profiler » de sa note sur Python 3.15. D'après cette note, le profileur est conçu pour s'attacher à un processus déjà en cours d'exécution : il faut indiquer lequel, et le PID est pour cela l'identifiant le plus direct.
Un profileur à échantillonnage ne trace pas chaque appel de fonction. À une fréquence donnée, il prend des « instantanés » de la pile d'exécution et s'en sert pour montrer où le programme passe son temps. Cette approche entraîne généralement un surcoût plus faible sur un service en production qu'un traçage complet. Il est donc pratique de le pointer sur un Datasette en fonctionnement, sans l'arrêter ni le redémarrer.
L'enchaînement est simple. Le plugin trouve tous les Datasette de la machine et affiche leur PID. Le profileur se rattache au bon processus. Auparavant, il fallait chercher le PID à la main entre ces deux étapes, avec ps, lsof ou le gestionnaire de tâches.
Ce qu'il faut en retenir
Pour la plupart des utilisateurs de Datasette, cette version ne change rien. Elle s'adresse à ceux qui font tourner plusieurs serveurs en même temps et veulent comprendre pourquoi l'un d'eux répond lentement. Les cas typiques : une requête SQL lourde, un plugin lent, une configuration mal adaptée. Dans ces situations, on peut ouvrir la liste de datasette-ports, prendre le PID de l'instance concernée et le transmettre au profileur de Python 3.15.
Si vous utilisez déjà le plugin, la mise à jour vers la 0.4 vaut le coup, ne serait-ce que pour la compatibilité avec la version actuelle de Datasette. Sinon, et si vous n'avez d'ordinaire qu'un seul serveur, le gain sera mince : le PID se récupère facilement sans lui.
Pour l'industrie, c'est plutôt un indicateur. Les nouveaux outils de diagnostic intégrés à Python commencent à attirer de petits utilitaires dans l'écosystème. L'auteur d'un projet populaire adapte ses outils à ces nouveautés dès le jour de la sortie, ce qui est en général la meilleure façon de tester une nouvelle fonctionnalité sous charge réelle. L'annonce ne contient aucun résultat de mesure de ce type, mais Willison publiera probablement séparément ses conclusions sur l'utilité du profileur pour Datasette.
Access Frontier LLMs & Multimodal AI in One Workspace
Discover NomadNet AI (nomadnet.ai) — unified access to frontier language models, research synthesis, and multimodal workflows.
L'essentiel de l'IA — une fois par semaine
Sept actus qui ont vraiment compté, choisies à la main. Sans bruit ni communiqués.
C'est fait ! Vérifiez votre boîte mail pour la confirmation.