Forum Programmation.python iterator et barre de progression

Posté par  . Licence CC By‑SA.
Étiquettes :
5
21
nov.
2022

Salut !

Petite question rapide aux experts du langage, pour essayer de faire du joli code en Python.

J'ai cette ligne dans mon code

self.samples = [next(self.spect) for _ in range(sample_rate * 30)]

qui peut prendre plusieurs minutes pour fournir un résultat. J'aimerais afficher une petite barre de progression dans la console pour indiquer que le script est pas planté.

La question est de savoir si c'est possible en (…)

Journal cTypes + Rust = approfondir une relation d'amour et d'eau (fraîche)

Posté par  . Licence CC By‑SA.
18
6
nov.
2022

nb : dans cet article, je n'évoque que l'interpréteur officiel, CPython (3.4+) et l'usage de modules standard à l'interpréteur (donc pas d'exemples de cffi, quel qu’en soient les qualités par ailleurs !).

Introduction

Ce week-end, j'ai fait une énième recherche sur une bricole pour la communication Python et Rust via cTypes. Sur ces "détails" qu'on oublie aussi vite qu'on se casse les dents dessus lorsqu'on ne pratique pas.

Comme ma mémoire est encore plus limitée que le nombre d'onglets (…)

Journal Python 3.11 est disponible

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
33
25
oct.
2022

Ce journal est une traduction de https://discuss.python.org/t/python-3-11-0-final-is-now-available/20291

Nouveautés

Changements généraux

  • PEP 657 - Introduction de meilleures sources d'erreurs

Exemple :

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    x['a']['b']['c']['d'] = 1
    ~~~~~~~~~~~^^^^^
TypeError: 'NoneType' object is not subscriptable
  • PEP 654 - Groupes d'exceptions et except*
  • PEP 680 - tomllib rejoint la librairie standard
  • GH-90908 - Introduction des groupes de tâches dans asyncio
  • GH-34827 - Groupes atomiques ((?>...)) and quantifieur possessifs (*+, ++, ?+, {m,n}+) sont maintenant supportés (…)

Journal python: ellipsis operator (...)

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
29
15
sept.
2022

J'ai découvert l'ellipsis operator de python (...). Dans le contexte où je l'utilise, c'est équivalent à pass, autrement dit ne rien faire. C'est utilisé principalement pour quand python attend qu'un bloc syntaxique soit rempli (corps d'une fonction, d'une boucle, …), mais qu'on a vraiment rien à y faire. Je trouve que ça permet de faire des interfaces plus élégantes.

from abc import ABC, abstractmethod

class CarElementVisitor(ABC):
    @abstractmethod
    def visitBody(self, element
(…)

Des nouvelles de WeasyPrint, ou comment développer du libre à (presque) plein temps

Posté par  . Édité par Benoît Sibaud, Xavier Teyssier et Ysabeau 🧶 🧦. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
92
22
sept.
2022
Python

WeasyPrint est un générateur de documents qui transforme du HTML/CSS en PDF. C’est écrit en Python, c’est libre (bah oui, sinon on n’en parlerait pas ici), et nous en avions déjà discuté ici il y a quelques années dans un petit article.

Avec le temps (plus de 11 ans depuis le premier commit, que le temps passe vite ma p’tite dame…), le logiciel a gagné une sacrée ribambelle d’utilisateurs avec plus de 750 000 téléchargements par mois. Parmi tous ces gens qui utilisent WeasyPrint, on a forcément rencontré plein de gens avec plein d’idées pour générer plein de drôles de trucs ! Nous avons croisé entre autres des rapports de sécurité informatique 🖥️, des livres de jeu de rôle 🎮️, des tickets 🎫️, des documents scientifiques 🧮️, des factures de sites de vente en ligne 📄️, des compte-rendus biologiques ⚛️, des modes d’emploi de fours 🧑‍🍳️, des lettres officielles 💌️, des étiquettes électroniques 🏷️, des affiches promotionnelles en pharmacies ⚕️, des diplômes universitaires 🎓️…

Forts de ce petit succès, Lucie Anglade et moi (Guillaume Ayoub) avons créé depuis deux ans une structure qui s’appelle CourtBouillon (oui, parce que notre autre passion est la bonne nourriture) dédiée au développement de WeasyPrint et de ses dépendances. Nous avons donc pu passer beaucoup de temps à travailler sur le logiciel et apporter plein de nouveautés, tout en nous posant beaucoup de questions pour assurer un modèle économique viable. Voilà ce que l’on aimerait partager avec vous.

Forum Programmation.autre Besoin de conseils architecturaux

Posté par  . Licence CC By‑SA.
11
13
oct.
2022

Bien le salut, la compagnie mytilicultrice !

Je me lance dans un side-project, libre et gratuit, d'une envergure encore inédite pour moi.
Je vais vous esspliquer un peu ce que je compte faire, et comment. Si certains d'entre vous, en passant par là, avait envie de donner un avis constructif, voire des conseils, des idées, bienvenue à eux.

L'idée est de programmer un synthétiseur FM virtuel, dans la lignée de FM8 de Native Instruments, par exemple. Il en existe (…)

Journal La cochonnerie en boite que sont les systèmes de dépendances

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
47
21
août
2022

Aujourd'hui, un autre journal qui dénonce grave.

Il est de bon ton de nos jours pour chaque langage de programmation qui se respecte de débarquer avec un système intégré de dépendances (ou plusieurs, mais nous y reviendrons) permettant plus ou moins automatiquement de télécharger des paquets logiciels. Souvent, il est possible de faire tourner un dépôt de paquets en interne, où l'on pourra d'une part cacher ses dépendances externes, et d'autre part envoyer ses propres paquets. L'on nommera Maven pour (…)

Conférence Mercurial Paris du 21 au 23 septembre 2022 (évènement annulé)

Posté par  . Édité par Julien Jorge, Benoît Sibaud, Pierre Jarillon et Ysabeau 🧶 🧦. Modéré par Julien Jorge. Licence CC By‑SA.
Étiquettes :
11
8
sept.
2022
Gestion de versions

La conférence Mercurial Paris 2022, est une conférence internationale dédiée au gestionnaire de version Open Source Mercurial. Elle se tiendra fin septembre 2022 à Paris, Université Paris Sorbonne.

Mercurial est un gestionnaire de versions, libre et multi-plateforme, qui aide les équipes à collaborer sur des documents tout en conservant l’historique de l’ensemble des modifications. Équivalent fonctionnellement aux biens connus Git ou Svn, il s’en distingue sur de nombreux points techniques, ergonomiques et pratiques.

Doté d’une interface orientée utilisateur facile d’accès et simple à comprendre, il offre des capacités avancées de personnalisation du workflow et s’illustre aussitôt qu’il y a besoin de performances adaptées aux très gros dépôts. (Les équipes de Google et Facebook utilisent en interne des solutions basées sur Mercurial pour gérer l’ensemble de leur code source.).

Après une première édition en 2019, l’équipe d’Octobus aidée de Marla Da Silva, organisent cette nouvelle mouture qui se déroulera du 21 au 23 septembre dans les locaux de l’Irill (Initiative de Recherche et Innovation sur le Logiciel Libre), Université Sorbonne, Paris.

Forum Programmation.python Un démineur pour apprendre...

Posté par  (site web personnel) . Licence CC By‑SA.
6
5
sept.
2022

Bonjour,

Voici donc un démineur en Python, en mode textuel et graphique Tk.

En mode textuel, il faut prendre la main en interactif après avoir exécuté demineur.py

>>> explorer((5,5))
False
>>> print_cases()
__________________________1X1___
________111_______111_____1X1___
______113X2_______1X1_____111___
______1XXX2_______111___________
11____11211_____________________
X1______________________________
11___________________111________
_____________________1X1________
_____________111_____111________
_____________1X1________________
_____________111________________
________________________________
________________________________
111_____________111_____________
XX1_____________1X1_____________
XX1_____________1X1_____________
Sur les 10 bombes, il vous en reste 10 à trouver.

demineur-g.py permet d’avoir une interface graphique. Le nombre de bombes se trouve indiqué dans la barre de titre.

Je l’ai fait (…)

Journal La première bêta de Slidge (passerelles XMPP) est dehors !

Posté par  (site web personnel) . Licence CC By‑SA.
30
4
sept.
2022

Note: ceci est la traduction de ce billet de mon blog, avec plus de blagues reloues dedans parce que je suis quand même plus à l'aise en français.

Après un an et demi de travail ~acharné (presque autant que pour un album d'Asterix), une très longue pause et quelques ré-écritures, c'est avec joie et fierté que je vous annonce une nouvelle révolution dans le monde de l'informatique, et dans l'histoire de l'humanité en général, la sortie de la première (…)

Moniteur de tunnels SSH Tunnelmon en version 1.1

Posté par  (site web personnel, Mastodon) . Édité par Benoît Sibaud et Florent Zara. Modéré par Nils Ratusznik. Licence CC By‑SA.
25
19
août
2022
Administration système

Tunnelmon, un moniteur de tunnels sécurisés SSH, sort en version 1.1. Il est publié sous GPLv3. Le code est en Python.

  • Il propose une interface de supervision et de gestion des tunnels SSH s'exécutant sur un système.
  • Il peut afficher soit une liste des tunnels sur la sortie standard, soit une interface interactive en mode texte dans le terminal.
  • Il peut également afficher la liste des connexions réseaux issues de chaque tunnel et leur état.

Capture d'écran

Tunnelmon gère aussi les tunnels mis en place avec autossh, une application qui peut redémarrer automatiquement vos tunnels en déroute.
Avec cette version 1.1, il gère maintenant les trois méthodes de redirection de ports proposées par SSH.