MakeMake The Dwarf Planet is a feed agregator.

Un gestionnaire de contexte libéré, (délivré, …)

by mdk from AFPy discuss

@entwanne, @debnet et moi jouons avec les gestionnaires de contextes ces temps-ci, ça m’a permis de faire ça par exemple : mdk/forking - La forge de l'AFPy

Le jeu du jour et d’aller plus loin dans la libération des gestionnaires de contextes, et je commence à toucher quelque chose, probablement encore un peu fragile, à peine testé, mais ça commence à marcher :

import ast
import inspect
import sys
import textwrap


class Stop(Exception):
    """Internal exception to block the execution of the context body."""


class With:
    def tracer_cb(self, frame, event, arg):
        if frame is self.frame and event == "opcode":
            raise Stop

    def __enter__(self):
        current_frame = inspect.currentframe()
        self.frame = current_frame.f_back
        self.frame.f_trace = self.tracer_cb
        self.frame.f_trace_opcodes = True
        sys.settrace(self.tracer_cb)

    def execute(self, body):
        """Do whatever with the body of the with statement."""
        raise NotImplementedError

    def _locate_with_body(self, tree, lineno):
        """Locate the with statement, in tree, at lineno."""
        for node in ast.walk(tree):
            try:
                node_lineno = node.lineno
            except AttributeError:
                continue
            if node_lineno == lineno:
                return node.body

    def __exit__(self, exc_type, exc, tb):
        frame = tb.tb_frame
        src = textwrap.dedent(inspect.getsource(tb.tb_frame))
        tree = ast.parse(src)
        module = ast.Module(body=self._locate_with_body(tree, tb.tb_frame.f_lineno))
        compiled = compile(module, filename="<with>", mode="exec")
        Function = type(Repeat.__enter__)
        self.execute(Function(compiled, frame.f_globals, name="<with>"))
        return True


class Repeat(With):
    def __init__(self, times):
        self.times = times

    def execute(self, body):
        for _ in range(self.times):
            body()



with Repeat(4):
    print(42)

5 messages - 4 participant(e)s

Lire le sujet en entier

Lire la suite…

Importer 2 fois un module en Python

by DorianTurba from AFPy discuss

Petite découverte grace à un poste de Vincent Poulailleau sur linkedin : il est possible d’importer 2 fois un module Python, sans toucher à importlib:

Il suffit de faire le code suivant pour le voir:

# fichier spam.py
print("module importé: ", __name__)
import spam

Si vous lancez cette commande avec python spam.py, il y aura 2 prints, un avec “__main__” et un autre avec “spam”.

Voila, j’ai découvert cette mécanique probablement inutile à la plupart, mais curieuse, récemment, donc je voulais partager :slight_smile:

1 message - 1 participant(e)

Lire le sujet en entier

Lire la suite…

Serveur discord Python FR

by DorianTurba from AFPy discuss

Bonjour,

Début février 2024, j’ai créé un serveur Discord pour échanger sur Python avec la communauté francophone. Resté plutôt privé un certain temps, je l’ai réanimé il y a ~7 mois.

Nous sommes désormais 373 membres, et le serveur tourne autour de 3 thématiques :

  • Compétences : les sujets tournes autour de sujets comme Python, les sciences, l’architecture et le devsecops
  • Pro : on y parle recherche de job, cv et certifications
  • Compétitions : Algo et techniques, on se confronte en versus ou en collaboration sur des sites comme Genepy, Projet Euler, Advent of Code, etc.

On y respecte une traduction du Code de conduite du serveur Python officiel ( Python ) .

Les différences entre le discord de l’AFPY et celui dont je parle :

  • Plus de salons, dédié à des thématiques précises, et quand un salon n’a pas suffisamment d’intérêt/activité, il est gelé et archivé (il est possible de restaurer un salon si ça redevient pertinent à l’avenir, l’historique y est conservé),
  • un système de notification assez poussé,
  • des salons vocaux personnels et temporaires afin que les échanges puissent être multiples sans se marcher sur les pieds,
  • des notifications RSS d’articles, vidéo et forums (comme ArjanCode, l’ANSSI, r/developpeur, r/python et r/pythonfr, le discuss afpy, et StackOverflow Python),
  • un système de signalement des comportement inadaptés au discord permettant un dialogue avec la modération privé, un suivi des tickets et la génération d’un transcript accessible par l’auteur du signalement et la modération,
  • Des événements réguliers auxquels les membres peuvent s’inscrire pour y participer comme des compétitions de code, des échanges autours de l’architecture logicielle, etc.

On communique sur les événements de la commu python internationale et FR, comme la PyconFR et l’Advent of Code, histoire de motiver les membres.

L’objectif du serveur est de rapprocher les membres de la communauté, permettant aux curieux de discuter avec d’autres devs sans risquer la toxicité de reddit, l’exposition publique de linkedin ou la rigueur de StackOverflow, le tout avec un maximum de spontanéité.

N’hésitez pas à nous rejoindre : SWEPY

3 messages - 3 participant(e)s

Lire le sujet en entier

Lire la suite…

Invitation stand JRES 2026 à Tours

by entwanne from AFPy discuss

Hello,

La prochaine édition des JRES (Journées RÉSeaux de l’enseignement et de la recherche) aura lieu du 8 au 11 décembre 2026 au palais des congrès de Tours.
L’AFPy est invitée à y tenir un stand pour présenter notre association.
Est-ce que des membres seraient intéressé·e·s pour le faire ?

2 messages - 2 participant(e)s

Lire le sujet en entier

Lire la suite…

Package Python bug sur le fichier __init__

by jahel-source from AFPy discuss

Bonjour, j’ai installer mon environnement python .venv uv avec mes package flask,openpyxl et pandas. j’ai du du coup voulu teste s’ils marchait bien en faisant : python -c “import flask; import openpyxl; print(‘OK’)” mais j’ai ces erreurs que je n’arrive pas à résoudre.

File “C:\Users\FKT609835\Documents\2. ENV_TEST\Environement Python.venv\Lib\site-packages\flask_init_.py”, line 5, in
from . import json as json
File “C:\Users\FKT609835\Documents\2. ENV_TEST\Environement Python.venv\Lib\site-packages\flask\json_init_.py”, line 6, in
from ..globals import current_app
ValueError: source code string cannot contain null bytes

quelqu’un peut il m’aider sur ce sujet svp?

7 messages - 4 participant(e)s

Lire le sujet en entier

Lire la suite…

Nouvelles projet py-edu-fr : formation "Python initiation"

by paugier from AFPy discuss

Salut,

Nous allons enfin réussir à baser une formation en présentielle (pour doctorants) que nous donnons à Grenoble sur du contenu py-edu-fr! Cette session se tiendra la semaine du 15 décembre 2025, i.e. dans un peu moins d’un mois.

Le contenu (https://python-cnrs.netlify.app/edu/init/) n’est pas encore vraiment prêt (il reste notamment des TP à rajouter et il y a plein de choses à améliorer/équilibrer/repenser) mais ça commence à être montrable.

En tout cas, je pense que ce qu’il y a maintenant commence à permettre de voir ce que ça va donner et que des relectures seraient très utiles. Donc si ça vous intéresse et que vous avez un peu de temps, n’hésitez pas à jeter un coup d’œil et à donner votre avis (sur ce fil de discussion, par des issues https://foss.heptapod.net/py-edu-fr/py-edu-fr/-/issues ou même des merge requests https://python-cnrs.netlify.app/contribute).

Pierre

6 messages - 3 participant(e)s

Lire le sujet en entier

Lire la suite…

[Clermont-Ferrand] Meetup mercredi 26 nov 18h30

by drigaudie from AFPy discuss

Hello,

Qu’est-ce que contient la nouvelle version de python ? Est-ce une version qui marque de gros changements ?
Venez tester vos connaissances sur python 3.14 au travers un quiz et du live coding

Nous serons accueillis par nos partenaires : Coqpit qui nous met à disposition ses locaux, ainsi ITARVERNE qui nous offre de quoi poursuivre cette session autour de pizzas.

Pas de pré-requis nécessaire, même si vous ne codez pas, venez par curiosité et vous pourrez peut-être y prendre goût.

Inscription gratuite mais obligatoire : Je ne peux pas mettre de lien donc RDV sur le groupe PyClermont de meetup

Au plaisir de vous rencontrer

Meetup Quizz

2025-11-26 18:30 (Europe/Paris) → 2025-11-26 22:00 (Europe/Paris)

3 messages - 3 participant(e)s

Lire le sujet en entier

Lire la suite…