talks/2019-paris.py-19-retours-su...

6.8 KiB

Retours sur la PyCon U.S. 2019


Julien Palard

Paris.py #19

Julien Palard

  • Python core dev and documentation expert
  • Python teacher and coach at
    • Sup'Internet
    • CRI-Paris
    • Makina Corpus

PyCon US

PyCon US

  • Language summit, Education summit
  • 2 jours de tutoriels
  • 3 jours de confs (6 tracks)
  • Open spaces
  • 3 jours de sprints
  • Évènements : PyLadies Auction, dinners, ...
  • Des gens !

Notes:

On ignore ce qu'on ignore, les conférences c'est le bon endroit pour le découvrir.

Et de la bière :]

Language Summit

Notes:

Audience variée : Des anciens core devs, des nouveaux, des contributeurs de twisted, Django, BeeWare, on y a parlé de :

Language Summit

  • L'API C,
  • la communication,
  • le mentoring,
  • les subinterpreters (avec des GIL indépendants),
  • mypyc,
  • inclure les time zones dans la stdlib,
  • bouger les issues sur github.
  • Circuit Python

Notes:

  • API C: Victor
  • La com: Comment tenter de faire mieux que pour le Walrus Operator
  • Le mentoring: Pablo Galindo Salgado, Emily Morehouse, Lisa Roach, Stéphane Wirtel Appel de Victor sur la ML mentoring pour plus de diversité.
  • mypyc: Essayez le, c'est pas tout a fait comme cython
  • TZ: Problem: Time zone changes are far more frequent than Python releases.
  • Circuit Python est un fork de MicroPython (copy code.py et pouf), API hardware différences

Education Summit

Dr. Charles R. Severance nous a parlé de Coursera et leur tendance à rendre les cours payants, il se bat donc en sortant ses cours et en les hébergant lui même :

  • py4e.com
  • dj4e.com

The Zen of Python

Open Education Resources

- Content matters but not at the expense of logistics.
- You should never assume that your user looks like you
  or thinks like you. Refuse the temptation to design for your
  youger self.
- Access counts.
- Accept that you are a UX designer.
- Testing in an education environment is better than having a
  kid related to you test it.
- If there are too many Python in-jokes, that's a bad idea,
  they exclude new users.
- If you think soemthing is obvious, explain it anyway,
  it's a good idea — it wasn't obvious for beginners.
- Your contributors always need guidance.
- You will fail, and it will still be worth it.
- Resources that exist are better than resources that don't.
- Resources that can be found are better than resources that can't.
- Resource that can be found and used by your target user are even better. Let's do more of that!

By Meg Ray

Notes:

Fun fact: deux speakers ont présentés le même "Zen", vu que Meg Ray était présente (keynotter!)

Lightning Talks

Les certifications Python, ça en est où ?

Notes: Le sujet prédominant était le manque de certification Python, a la louche il en existe deux, elles sont chères, pas forcément bien faites. On pourrait se bouger pour en faire une meilleure, reconnue par la communauté. Enfin pas moi.

La pause

Pleinières

Russell Kenth Magee

Les « Python Black Swans ».

Notes: réfléchissons a un évènement qui pourrait modifier drastiquement Python, qui nous paraitrait évident s'il survenait. Mais essayons de le prévoir plutôt que le subir. Surtout s'il est dangereux.

Russell Kenth Magee

Python dans les navigateurs ?

Notes:

Si oui selon Russell ça se fera via webassembly, c'est donc a nous de le faire. Il nous a fait une démo avec beeware d'un programme Python qui tourne sur Android, iOS, Linux, et dans le navigateur, joli !

RIP

Confs

Luciano Ramalho

def match(words, search):
    words = words.split()
    search = search.split()
    for to_find in search:
        for word in words:
            if to_find == word:
                break
        else:
            return False
    return True

Note: Luciano est pour moi une grande source d'inspiration autour de l'enseignement de Python.

La conf sur les ensembles, trop peu utilisés ? Ignorés ?

Luciano Ramalho

def match(words, search):
    return set(words.split()) >= set(search.split())

from the doc:

Test whether every element in other is in the set.

De Morgan's Law

>>> e = {n for n in range(10) if n % 2 == 0}
>>> p = {*range(5)}
>>> f = {1, 1, 2, 3, 5, 8}
>>> f - (p & e) == (f - p) | (f - e)
True

Notes: Luciano nous a montré ça aussi.

De Morgan's Law

Still not a proof, let's bring pytest and hypothesis!

@given(e=st.sets(st.integers()),
       p=st.sets(st.integers()),
       f=st.sets(st.integers()))
def test_de_morgan(e, p, f):
    assert f - (p & e) == (f - p) | (f - e)

Notes: On a eu beaucoup de Hypothesis partout, alors testons avec.

Lightning Talks

J'ai appris l'existence de pytype, copain de mypy, mais plus orienté inférence.

Pablo Galindo

Le ramasse-miettes

Et bah, c'est pas drôle un ramasse miette.

>>> x = None
>>> class Lazarus:
...     def __del__(self):
...         print("I'm going to be resurected!")
...         global x
...         x = self
...
>>> a = Lazarus()
>>> del a
I'm going to be resurected!
>>> x
<__main__.Lazarus object at 0x7fd0a02c0978>

Les sprints

Sujets variés :

  • cpython
  • mailman
  • hypothesis
  • packaging
  • pellets (flask, jinja2, click, ...)
  • mypy / mypyc
  • Circuit Python
  • ...

Infra avec Ernest W. Durbin III

2FA sur pypi.org \o/

Notes:

Ce n'est pas public pour le moment, demandez moi ou demandez sur #python-infra sur freenode si vous voulez le tester.

Les sprints

On a démarré trois nouvelles traductions de la documentation de Python :

  • Italien, avec Alessandro Cucci
  • Espagnol avec Raul Cumplido
  • Hindi (hi_IN) avec Sanyam Khurana

Notes:

  • Ca nous mène à 17 traductions plus ou moins démarrées.
  • 9 avec une activité non négligable
  • 5 en production

cpython

J'ai principalement bossé sur cpython (segfaults / memory leaks)

Ce que j'ai retenu ?

  • Black, black everywhere!
  • F-string debug mode : foo=5; print(f"{foo=}")
  • Rencontrer les gens !

Notes:

Pour ceux sous Windows, VSCode permet maintenant d'utiliser un venv de WSL, cherchez "Remote Development" (need VSCode Insiders).

PSF Q2 2019 Fundraiser

Notes:

Ça finance aussi les ateliers de traduction de la doc :)

Pendant qu'on en parle, vous cotisez à l'AFPy ?

Et après ?

Prochaine PyCon US à Pittsburgh :

  • 15 au 23 avril 2020
  • 12 au 20 mai 2021

Et après ?

En attendant, suivez @pyconfr pour avoir des nouvelles de la prochaine PyCon Fr.

Secret : Si on la fait ce sera peut être à Bordeaux, peut être du 30 octobre au 3 novembre, peut être.