jeudi 18 novembre 2021
« Le mot descripteur (descriptor) désigne (dans le contexte du langage Python) à la fois un protocole et un objet implémentant ce protocole. Rarement évoqué dans la littérature, le descripteur est pourtant un concept très intéressant. La dernière section du document donne un aperçu de sa puissance avec quelques implémentations alternatives, en Python pur, de quelques fonctionnalités natives bien connues du langage.  »
mercredi 10 novembre 2021
« Un exemple intéressant d'utilisation de la bibliothèque Altair pour visualiser des matrices de corrélation.  »
jeudi 21 octobre 2021
« Le GIL (Global Interpreter Lock) reste le talon d’Achille dans l'implémentation de référence du langage Python (CPython) en raison des limitations qu'il impose dans l'exécution des programmes multi-thread). Selon cet article, une proposition intéressante, visant à lever cette contrainte, a retenu l'attention de l'équipe de développement de CPython. Affaire à suivre ...  »
Python Challenge [Christian]
jeudi 14 octobre 2021
« Tout est dans le titre, il s'agit d'une série de 33 défis de programmation de difficulté progressive à relever! Même si l'auteur a conçu ses exercices pour Python, rien n'empêche de tenter l'expérience avec d'autres langages ...  »
SQLModel [Romain]
lundi 20 septembre 2021
« Un ORM basé sur sqlalchemy et pydantic.  »
lundi 20 septembre 2021
« Pyston est un projet open source qui se donne l'objectif de proposer une implémentation du langage Python 30% plus rapide que l'implémentation de référence (CPython de la Python Software Foundation).  »
Calm code [Romain, RT Devlog]
mercredi 15 septembre 2021
« De nombreux tutoriels vidéos courts sur des outils liés à python.  »
mardi 31 août 2021
« Un comparatif très détaillé des principales solutions pour faire des dashboard en python.  »
Pytudes [Christian]
mardi 31 août 2021
« Ce dépôt contient un grand nombre de programmes en Python, la plupart de petite taille et soigneusement choisis pour aider les développeurs à s'entraîner et s'améliorer, en quelque sorte à la manière d'un musicien qui perfectionne sa technique en jouant des "études". On peut espérer que ce site est aussi une mine de bonnes idées pour organiser des Coding Dojos.  »
mardi 31 août 2021
« Une explication de la raison d'être du fichier pyproject.toml et des PEP 517 et 518.  »
jeudi 15 juillet 2021
« David Beazley, l'auteur de ce cours, a écrit plusieurs ouvrages sur Python dont Python Essential Reference (Addison-Wesley) et Python Cookbook (O'Reilly). Il est également auteur du logiciel Swig. Ce cours s'adresse à un public pratiquant déjà (au moins) un autre langage de programmation.  »
lundi 7 juin 2021
« Comment créer un paquet Python et tout ce qui gravite autour: la documentation, les tests unitaires, les jeux de données, le déploiement, ...  »
mardi 25 mai 2021
« Guido Van Rossum, le créateur du langage Python, s'est exprimé à l'occasion de la PyCon 2021 pour évoquer des projets susceptibles de rendre le langage deux à cinq fois plus rapide.  »
jupyterlite [Romain]
lundi 17 mai 2021
« pyiodide offre des bibliothèques python scientifiques compilées en webassembly et utilisables dans un navigateur. À l'origine, il était utilisé par les notebooks Iodide que Mozilla a, depuis, abandonnés (pyiodide reste activement développé). Jupyterlite, un projet de Jeremy Tuloup, offre une alternative très sympathique : une distribution de JupyterLab entièrement côté client, y compris un noyau python minimaliste, pyolite. Ce projet peut donc être déployé de façon statique.  »
webdash [Romain]
lundi 10 mai 2021
« Le projet pyiodide offre des bibliothèques scientifiques python compilées en webassembly. Le projet webdash (expérimental) propose en plus un sous-ensemble de Plotly Dash, permettant d'implémenter en python des dashboards dont toute l'exécution se déroule côté client. Un projet qu'il serait intéressant d'essayer de combiner avec sql.js-httpvfs pour l'accès aux données.  »
lundi 3 mai 2021
« For those who wants Numpy, Pandas, SciPy, Matplotlib usable with all the features of the browser. It could be seen as an interesting alternative to Jupyter, as all the computation is done on the browser side.  »
Lumen [Christian]
lundi 3 mai 2021
« Lumen est un outil qui permet de construire de façon déclarative (à travers une spécification YAML) des applications d'analyse visuelle de données.  »
nbdev [Romain]
lundi 19 avril 2021
« Les notebooks Jupyter sont généralement envisagés comme un lieu d'expérimentation ou pour écrire des exemples, mais pas comme un support permettant d'écrire une bibliothèque complète. Ce projet se propose de fournir un environnement qui permet cet usage, et offre des fonctionnalités pratiques (génération automatique de paquets pip et conda, génération automatique de documentation et publication sur github pages, configuration automatique de l'intégration continue via github actions...)  »
lundi 19 avril 2021
« Un grand nombre d'algorithmes d'apprentissage machine ne se comportent pas bien si les variables étudiées ont des échelles très différentes. Cette articles fait un tour d'horizon des différentes techniques de mise à l'échelle (feature scaling) disponibles dans scikit-learn.  »
mercredi 7 avril 2021
« Le pattern matching à la Ocaml est apparu en Python très récemment, dans la version 3.10 et il a été déjà évoqué ici brièvement. Ce nouvel article apporte plus de détails sur le sujet et surtout une série d'exemples qui sont autant de bonnes idées d'utilisation de cette structure de contrôle très puissante.  »
jeudi 1 avril 2021
« Pour la quatrième année consécutive, la PSF ( Python Software Foundation) et JetBrains ont réalisé ensemble un sondage très riche en informations sur l'utilisation de Python et de son écosystème au cours de l'année écoulée.  »
Python under the hood [Laurent Steff]
jeudi 1 avril 2021
« How Pythons' objects (integers, lists, NumPy arrays) are managed under the hood.  »
lundi 22 mars 2021
« An article that helped me a lot to figure what a BlockChain does. For those using the code, there is a small and easily fixable mistake on valid_proof, could you find and fix it ? :)  »
mardi 2 mars 2021
« Le 27 février, Guido van Rossum annonçait sur son compte twitter : """ Pattern Matching (PEP 634-636) was merged into cpython master today! Will be in 3.10 alpha 6, to be released Monday. """ Ceci est une évolution importante pour le langage car le pattern matching est une structure de contrôle d'une grande élégance, déjà présente dans des langages de programmation fonctionnelle tels que Ocaml et Haskell !  »
lundi 25 janvier 2021
« Les matrices de très grandes dimensions posent généralement des problèmes de traitement importants. Quand elles sont creuses (contiennent principalement des valeurs nulles) certaines difficultés peuvent être souvent surmontées en utilisant des représentations adéquates. Le présent tutoriel fait un tour d'horizon des moyens offerts par SciPy pour travailler avec des matrices creuses (sparse matrix) en mettant l'accent sur les applications dans les champ de l'apprentissage machine (machine learning).  »
mercredi 6 janvier 2021
« A 5 minute read clear explanation of where could happen overflows when using Python.  »
lundi 14 décembre 2020
« La dernière itération de Python (la 3.10) arrive avec quelques nouveautés intéressantes, privilégiant la lisibilité du code et l'annotation des types.  »
jeudi 26 novembre 2020
« Après un rappel des notions de base sur les graphes, cet article présente les possibilités de la bibliothèque ipycytoscape, basée sur cytoscape.js et destinée à la visualisation des graphes dans l'écosystème Jupyter.  »
PlusPy [Laurent Schneider]
jeudi 12 novembre 2020
« Un interpréteur TLA+ écrit en python. Une courte présentation est disponible ici.  »
MiniConf [Christian]
jeudi 29 octobre 2020
« MiniConf est un gestionnaire de conférences virtuelles capable de gérer les documents, agendas et les intervenants d'une manifestation académique. Une démonstration en ligne est disponible à l'adresse http://www.mini-conf.org/index.html  »
lundi 19 octobre 2020
« Cet article explore quelques unes des possibilités moins connues de Jupyter, illustrées avec des cas d'utilisation très pertinents.  »
jeudi 15 octobre 2020
« Un petit article qui explique la différence entre les rôles des fichiers setup.py et requirements.txt et comment les gérer sans dupliquer les informations pour les applications et bibliothèques python.  »
jeudi 15 octobre 2020
« Python 3.9 est désormais disponible avec quelques atouts qui méritent d'être mentionnés. En dehors de deux fonctionnalités sur les dictionnaires déjà évoqués dans ces pages en avril cet article présente quelques autres avec un accent tout particulier sur le nouveau parseur.  »
lundi 28 septembre 2020
« La préparation des données pour être utilisées efficacement dans un projet d'apprentissage machine (Machine Learning) n'a rien d'évident et constitue une partie non négligeable de l'effort à fournir sur un projet. Cet article constitue une bonne introduction en matière.  »
fixit [Romain]
mardi 22 septembre 2020
« Un linter python permettant des résolutions automatiques de certains problèmes rencontrés. À ce sujet, on peut également lire ce billet de blog d'instagram (qui développe fixit) qui mentionne notamment que leur backend est une application monolithique basée sur Django.  »
lundi 14 septembre 2020
« Un article interessant sur les messaging pattern et zeroMQ, applique au grid search  »
lundi 14 septembre 2020
« Même si la PEP8 est un excellent guide de style pour Python, il est toujours intéressant de observer les multiples manières de mettre en pratique cette norme en fonction des différentes cultures d'équipe et de domaines d'activité.  »
lundi 7 septembre 2020
« Guido Van Rossum a signalé dans un tweet que les exemples accompagnant la documentation de python étaient désormais diffusés sous cette licence, laquelle n'exige pas d'attribution (et j'ai appris par la même occasion l'existence de cette variante de la licence BSD).  »
lundi 31 août 2020
« Un petit résumé des étapes de création d'un package python.  »
lundi 25 mai 2020
« Après une brève introduction à l'Arduino Uno, l'auteur nous montre comment commander sa carte en Python avec pyfirmata plutôt qu'avec des instructions C.  »
mercredi 15 avril 2020
« La toute nouvelle pré-release 3.9 de Python n'apporte pas, pour l'instant, plus de deux nouvelles fonctionnalités mais celles ci portent sur les dictionnaires, qui représentent une construction clé du langage. Cet article les présente brièvement.  »
lundi 30 mars 2020
« L'utilité d'un debugger dans Jupyter n'est plus à démontrer auprès des celles et ceux qui utilisent cet écosystème au quotidien pour faire exécuter du code qui est souvent expérimental. Cette article donne un aperçu rapide de cet outil de mise au point très récent.  »
jeudi 5 mars 2020
« Une explication visuelle des concepts qui sous-tendent vega-lite, avec des exemples en Altair.  »
jeudi 5 mars 2020
« Une introduction à l'approche bayésienne qui aborde le sujet sous un forme accessible aux développeurs et en particulier aux développeurs Python.  »
mercredi 26 février 2020
« Le journal Nature propose, ce mois ci, un long article qui retrace l'histoire de la désormais célèbre bibliothèque logicielle SciPy. C'est l'occasion de (re)découvrir les choix d'architecture et d'implémentation de SciPy ainsi que l'organisation du projet et de sa communauté des développeurs.  »
mercredi 19 février 2020
« L'utilisation des méthodes dites "magiques" en Python ouvre des possibilités inattendues, le présent article en est l'illustration ...  »
mercredi 12 février 2020
«  Une façon de remplir facilement le squelette d'un test unitaire.  »
jupytext [Romain]
mercredi 5 février 2020
« jupytext permet d'utiliser, de façon transparente, des scripts python (et autres) comme notebooks jupyter, et facilite ainsi la gestion de versions.  »
mercredi 5 février 2020
« Une introduction à Numba, compilateur JIT qui accélère le code Python (+Numpy) aussi bien pour les architectures matérielles classiques (CPU) que pour les GPU.  »
jeudi 30 janvier 2020
« Un article qui explique bien les problèmes que vous pouvez rencontrer lors de l'utilisation de l'image Docker Alpine pour Python.  »
jeudi 30 janvier 2020
« Cet article permet de faire la découverte de **Vaex**, bibliothèque proposant un *dataframe* "paresseux", destiné au *big data* ...  »
mercredi 15 janvier 2020
« Un cours sur la visualisation de données, basé sur vega-lite, au choix en javascript (via les notebooks Observable) ou en python via la bibliothèque Altair.  »
mercredi 15 janvier 2020
« Une "pierre de Rosette" pour la visualisation de données en python : cette page donne des exemples de tracés courants avec notamment Pandas, Plotly et Altair (vega-lite)  »
jeudi 12 décembre 2019
« Deux bibliothèques malveillantes ont été repérées dans pip et supprimées.  »
mercredi 13 novembre 2019
« Ce livre en ligne est à la fois une introduction à l'algorithmique et une initiation au langage Python.  »
jupyter-desktop [Romain]
mercredi 13 novembre 2019
« JupyterHub (et ses dérivés comme BinderHub) permettent de partager des notebooks et des applications basés sur Jupyter, mais pas uniquement. Il est aussi possible de mettre en ligne des applications web arbitraires en utilisant jupyter-server-proxy (un exemple permettant de lancer OpenRefine). jupyter-desktop va plus loin, en servant un bureau X11 complet, et permet d'exposer via une instance de JupyterHub des applications desktop, comme ds9 (une application de visualisation d'images FITS utilisées en astronomie) par exemple.  »
jeudi 7 novembre 2019
« Un guide expliquant comment installer et servir une instance de Datasette sur un serveur linux. C'est aussi et surtout un bon guide pour déployer de petites applications Python sur une distribution Linux utilisant systemd.  »
jeudi 7 novembre 2019
« La bibliothèque FSSpec, évoquée précédemment, offre (en complément d'une interface unifiée d'accès aux données) des mécanismes de mise en cache des données distantes, décrits dans le présent article.  »
jeudi 7 novembre 2019
« L'utilité d'une interface unifié pour accéder des fichiers en faisant abstraction de leur localisation et du protocole d'accès est probablement évidente pour tout développeur qui manipule des données au quotidien. La bibliothèque Python appelée FSSpec, décrite dans cet article, se propose d'offrir une telle interface.  »
tqdm [Romain]
jeudi 31 octobre 2019
« Besoin d'une barre de progression pour une application python (en ligne de commande ou dans un notebook...) ? Il suffit d'emballer un itérateur dans un appel à la fonction tqdm() et c'est fait.  »
jeudi 31 octobre 2019
« Python fait partie des langages qui gèrent la mémoire de manière transparente. Néanmoins, avoir des notions de la façon dont la mémoire est gérée par le langage offre des atouts pour comprendre et résoudre certains problèmes comme ceux liés à la performance et à l'interfaçage avec d'autres langages. Le présent article donne un aperçu de ces notions.  »
mercredi 9 octobre 2019
« Streamlit est une solution pour construire facilement des interfaces web à partir d'un script python. Ce projet peut se comparer à voilà mais préfère les scripts "simples" aux notebooks Jupyter et propose un modèle d'exécution différent.  »
jeudi 3 octobre 2019
« Il existe un certain nombre d'idées reçues concernant l'outil Conda qui peuvent amener à des mauvais choix dans le packaging et la diffusion d'un logiciel. Cet article, qui date de 2016, garde toute sa pertinence trois ans plus tard en faisant un bref inventaire de ces idées.  »
Hello, ASGI [Romain]
jeudi 5 septembre 2019
« Une introduction au standard ASGI, le "fils spirituel" de WSGI qui permet d'écrire des services web asynchrones et de gérer des protocoles autres que le HTTP, notamment WebSocket.  »
Les aventuriers du packaging perdu [Romain [RT DevLog]]
mardi 23 juillet 2019
« Une introduction sympathique au packaging en python (malheureusement assez difficile à trouver via un moteur de recherche). La vidéo se trouve ici.  »
vendredi 5 juillet 2019
« Comment gérer la hiérarchie de modules python/cython dans un paquet. Avec un lien vers un exemple d'implémentation.  »
mercredi 12 juin 2019
« En se basant sur les PEPs (Python Enhancement Proposals) existantes, cet article détaille quelques une des nouvelles fonctionnalités susceptibles de faire leur apparition dans le langage Python à partir de sa prochaine release, la 3.8 .  »
The xtensor vision [Christian]
mercredi 5 juin 2019
« Le C++ n'est pas cité souvent parmi les langages de la science des données (Data Science) ... Pourtant il arrive qu'il soit le principal recours possible quand on est face à des problèmes de performance. Quand cela arrive on est confronté à la relative pauvreté des moyens dans la manipulation de données par rapport à d'autres langages de plus haut niveau comme Python, R ou Julia. Le présent article illustre les capacités de la bibliothèque Xtensor de combler ce manque en apportant des fonctionnalités comparables à celles de NumPy (par exemple) et surtout des capacités remarquables d'intégration avec les trois autres langages évoqués précédemment.  »
python-ext-wasm [Romain]
jeudi 25 avril 2019
« Une bibliothèque permettant d'exécuter des binaires WebAssembly depuis python  »
jeudi 18 avril 2019
« Pyodide (projet expérimental de Mozilla) a pour but de rendre le langage Python ainsi que son écosystème (NumPy, Pandas, Matplotlib et SciPy notamment) destiné à l'analyse des données accessible dans un navigateur web via WebAssembly.  »
jeudi 18 avril 2019
« Une série de courtes vidéos offrant une introduction à l'analyse de données avec Python et Jupyter.  »
mercredi 27 février 2019
« Cet article est un bon guide de survie à l'intention des utilisateurs occasionnels de Pandas. Le même site propose d'ailleurs d'autres tutoriels pour cette bibliothèque.  »
jeudi 21 février 2019
« Un exemple très simple pour vectoriser des calculs numpy sur GPU.  »
Les aventuriers du packaging perdu [Romain [vu sur DevLog]]
mercredi 6 février 2019
« Une introduction sympathique au packaging en python. La vidéo se trouve ici.  »
jeudi 17 janvier 2019
« Un point très complet sur le module Python asyncio, introduit sous sa forme actuelle dans Python 3.4 et qui continue d'évoluer de manière importante au fil des versions. Cet article pointe également vers un autre article expliquant comment se place cette fonctionnalité par rapport aux autres modules de concurrence de Python (thread et multiprocessing).  »
mercredi 9 janvier 2019
« Depuis son départ d'Anaconda fin 2018 pour rejoindre Nvidia, Matthew Rocklin, lead développeur du projet Dask, a commencé à travailler sur l'utilisation de Dask sur GPU. Dans cet article, il nous présente quelques résultats préliminaires mais très prometteurs: sur un calcul donné en exemple, on passe d'un temps de calcul de 2h39 sur une machine single Core à 19s sur un cluster de 8 GPUs ! Le tout en quelques lignes de Python.  »
jeudi 25 octobre 2018
« Une explication des concepts de covariance et contravariance avec des exemples dans plusieurs langages.  »
lundi 15 octobre 2018
« Le ramassage de miettes (garbage collection) dans un langage de programmation comme Python est un atout certain, mais il est loin d'être la solution à tous les problèmes de gestion mémoire. Ce billet passe en revue quelques outils permettant d'analyser l'utilisation de la mémoire dans les programmes Python et fournit quelques astuces simples pour en éviter le gaspillage.  »
jeudi 4 octobre 2018
« L'auteur de ce blog explique comment il a analysé des données obtenues via la loi FOIA pour trouver une rue où les verbalisations étaient anormalement élevées, et permettre l'installation d'une signalisation plus claire.  »
mardi 11 septembre 2018
« Une compilation d'exemples d'utilisation de la bibliothèque Pandas correspondant à des cas qu'on rencontre souvent dans la pratique. C'est à la fois un guide de survie pour les utilisateurs occasionnels et une belle illustration de la puissance de Pandas.  »
jeudi 23 août 2018
« Un entretien du Monde avec Guido van Rossum, le créateur de Python, suite à sa démission de son poste de "benevolent dictator for life".  »
jeudi 19 juillet 2018
« Utiliser Numpy c'est bien, le faire de manière efficace, c''est mieux! Cet article fournit quelques règles simples à respecter pour écrire du code Python plus performant avec Numpy.  »
jeudi 19 juillet 2018
« Guido van Rossum, le créateur de Python, vient de quitter son poste de benevolent dictator for life suite à des débats houleux sur la dernière PEP (Python Enhancement Proposals). Il n'a pas désigné de successeur et laisse la communauté se réorganiser comme elle le souhaite. Un autre post de blog détaille un peu plus le fonctionnement actuel et discute ses limites.  »
mercredi 4 juillet 2018
« Vectorization, Broadcasting, Indexing : trois concepts à maîtriser pour tirer profit de la puissance de NumPy. Cet article met l'accent sur les deux premiers (Vectorization, Broadcasting) et aborde partiellement le troisième (Indexing) tout en insistant sur la nécessité de l'approfondir via la documentation de référence .  »
mercredi 30 mai 2018
« La nouvelle release de Python (3.7) introduit un nouvel artefact, la "Data class". Il s'agit d'une classe, au sens POO, optimisée pour faciliter la manipulation des données. Cet article survole les principaux atouts de ce nouveau concept.  »
mercredi 16 mai 2018
« Une comparaison intéressante des performances pour trois implémentation différentes d'une régression linéaire (Python standard, Numpy et TensorFlow).  »
Python environment [Sébastien]
mercredi 2 mai 2018
« Un récent xkcd moquant la complexité de la gestion des environnements Python, qui amènent par exemple à utiliser python3 -m pip plutôt que pip3 sur certaines installations (typiquement une VM Cloudstack). Pour xkcd de manière plus générale, un wiki existe pour tenter d'expliquer les strips; par exemple dans ce lien la référence à Superfund site m'échappait complètement.  »
mercredi 4 avril 2018
« Un article comparant les performaces entre plusieurs version de python et montrant que la prochaine release python 3.7 sera globalement la plus rapide.  »
mercredi 28 mars 2018
« Après une introduction rapide des notions de base, ce notebook dévoile un certain nombre de subtilités dans le fonctionnement de NumPy, utiles à connaître pour utiliser la bibliothèque de manière efficace.  »
mercredi 14 mars 2018
« Cette vidéo (31 mn) est un retour d'expérience très détaillé d'Olivier Grisel sur comment générer les wheels pour installer scikit-learn depuis PIP, et surtout comment cela a été automatisé.  »
Datasets in Python [Christian]
mercredi 14 mars 2018
« Nous sommes souvent confrontés, tout au long du processus de développement, au besoin de jeux de données satisfaisant des contraintes diverses. Ce billet est un recueil de sources de données qui ont en commun le fait d'être exploitables en Python.  »
mercredi 7 mars 2018
« Cet article présente quelques bonnes_pratiques pour démarrer un package Python.  »
mercredi 31 janvier 2018
« Cet article expose brièvement l'algorithme K-Means et propose une implémentation très pédagogique en Python.  »
mercredi 17 janvier 2018
« Cet article offre une illustration de l'utilisation de TensorFlow sur un cas concret.  »
mercredi 29 novembre 2017
« Dask est un framework en langage Python de calcul parallèle pour l'analyse de données. Cette présentation de Matthew Rocklin expose les derniers développement de ce projet pour le traitement à la volée de données (Stream processing).  »
mercredi 22 novembre 2017
« Un article de blog dans lequel l'auteur de la bibliothèque de deep learning Keras décrit quelques règles simples pour rendre son code "User friendly". Vu le succès de Keras, ce sont certainement de bonnes règles à suivre.  »
mercredi 22 novembre 2017
«  Alors que l'arrêt du support de la version 2 de Python est prévu pour 2020, le projet NumPy prévoit un calendrier pour assurer la transition ...  »
mercredi 8 novembre 2017
«  IPyvolume est une librairie très prometteuse pour visualiser facilement et efficacement des données en dimension 3 ou 6 (avec vecteurs de vitesse) et bien plus. Si vous voulez avoir plus de détails, vous pouvez aller voir cette vidéo de présentation à PyData (30 minutes).  »
mercredi 8 novembre 2017
«  Un livre très utile aux développeurs Python confrontés aux défis liés aux données (manipulation, visualisation) et à l'apprentissage machine ("machine learning")  »
Xtensor [Sébastien]
mercredi 8 novembre 2017
«  Une librairie C++ pour la manipulation de tableaux multidimensionnels, avec une interface très proche de celle de numpy (voir ce lien pour s’en convaincre) et des bindings pour Python, Julia et R. A noter que deux des développeurs de cette librairie devraient prochainement intervenir lors d’un prochain café LOOPS.  »
mercredi 25 octobre 2017
«  La bibliothèque PyTools facilite, entre autres, l'emploi de quelques techniques issues du paradigme fonctionnel dans la programmation en Python. Cet article est une présentation rapide de cette bibliothèque, réalisée par son principal auteur.  »
mercredi 18 octobre 2017
« Cet article est une introduction à Theano, bibliothèque d'apprentissage profond (deep learning) développée à l'Université de Montréal.  »
The Python Graph Gallery [Christian, Hande]
mercredi 18 octobre 2017
« Ce site web donne, à travers des centaines d'exemples, un aperçu des possibilités de Python en matière de visualisation des données en faisant appel à différentes bibliothèques graphiques.  »
mercredi 4 octobre 2017
« Cet article introduit, avec pédagogie et quelques clins d'oeil historiques, la notion de coroutine implémentée dans Python.  »
mercredi 4 octobre 2017
«  Comparaison extrêmement détaillée des principales suites de solveurs d'équations différentielles, par le développeur de celle du langage Julia.  »
mercredi 27 septembre 2017
« L'utilité de la journalisation de l'exécution d'un logiciel (logging) à chaque stade du processus de développement ou d'exploitation n'est plus à prouver. Cet article passe en revue les possibilités du module logging, présent dans la bibliothèque standard de Python.  »
mercredi 20 septembre 2017
« Pyheatmagic est un profileur de code utilisable dans un Notebook qui a la particularité de présenter les résultats sous la forme d'une carte de températures (heatmap)  »
The docstrings main formats [Virgile Andreani]
mardi 22 août 2017
« Un aperçu des différents formats couramment utilisés pour les docstring Python. »
mardi 22 août 2017
« La fameuse PEP8, guide incontournable de style pour tout développeur Python, laisse une marge importante aux développeurs et aux équipes pour choisir les bonnes pratiques menant à un code plus lisible et maintenable. Cet article présente un certain nombre d'astuces pour améliorer son style et se doter de bonnes règles de codage. »
jeudi 22 juin 2017
« Un tutoriel sur le décorateur Python, qui donne au passage une très intéressante réflexion sur le paradigme objet et les design pattern. Une lecture instructive même pour les développeurs d'autres langages! »
Python Tips [Christian]
jeudi 22 juin 2017
« Un livre en ligne qui introduit les principaux concepts nécessaires aux développeurs C, C++ et Java pour aborder Python. »
Threads in Python [Christian]
jeudi 27 avril 2017
« Cet article est une introduction à l'utilisation des threads (fils d'exécution) en Python. »
Python for ecologists [Christian]
jeudi 13 avril 2017
« Une série de leçons sur la manipulation des données avec Python, particulièrement adaptées aux besoins des chercheurs en écologie et plus généralement à tous ceux qui sont confrontés à l'exploitation des données expérimentales au quotidien. »
jeudi 16 mars 2017
« Un générateur d'interface en ligne de commande (CLI). »
BeautifulSoup [Vincent]
jeudi 16 mars 2017
« Un exemple très simple en Python sur le comment et le pourquoi utiliser un tel parser html. »
jeudi 23 février 2017
« Un exemple de mise en place d'outils d'intégration continue avec Travis pour un projet Python utilisant Pytest, Tox et le service Coveralls pour la couverture de code. A la place de Coveralls, on peut aussi utiliser Codecov (non décrit dans l'article). »
vendredi 17 février 2017
« Un panorama de l'écosystème de Jupyter, un bloc-notes / carnet de laboratoire interactif. »
vendredi 17 février 2017
« Cet article est une introduction très pédagogique à l'utilisation des générateurs en Python. »
Les slices en Python [Christian]
vendredi 13 janvier 2017
« Une explication détaillée de l'utilisation des tranches (slices) en Python. »
JupyterLab [Romain]
vendredi 16 décembre 2016
« JupyterLab - un nouvel environnement basé sur Jupyter, anciennement IPython Notebook. Il s'agit en fait d'une réécriture du côté client.  »
vendredi 16 décembre 2016
« Ce billet passe en revue quelques fonctionnalités moins connues de Jupyter Notebook. »
vendredi 16 décembre 2016
« Dans cet article, l'auteur nous introduit au module Python asyncio pour faire de la programmation concurrente en Python. »
vendredi 25 novembre 2016
« "Une introduction très bien faite à la programmation concurrente avec le module Python asyncio." »
vendredi 4 novembre 2016
« Un tutoriel expliquant comment suivre l'utilisation d'un #mot-dièse sur Twitter à l'aide d'une LED, de Python et d'une carte Raspberry PI. »
Noteshrink [Romain]
vendredi 4 novembre 2016
« Une description de la création d'un script Python qui rend les notes manuscrites numérisées plus lisibles. »
Sanic [Alexandre]
vendredi 21 octobre 2016
« Un serveur Web Python de type Flask, asynchrone et performant. »
vendredi 14 octobre 2016
« Une introduction à Flask à travers un exemple. »
vendredi 14 octobre 2016
« Un tutoriel expliquant l'utilisation du module asyncio de Python. Ce module propose une API pour manipuler des entrées/sorties de manière asynchrone (utile pour des applications client/serveur) et gérer les appels concurrents. »
vendredi 7 octobre 2016
« Cet article est une introduction à Django channels qui est un extension du framework bien connu Django et qui introduit des fonctionnalités importantes comme le support des WebSockets et celui des tâches asynchrones. »
vendredi 30 septembre 2016
« Un tutoriel pour s'initier au Deep Learning en Python avec Keras. Les exemples sont vraiment bien faits et contiennent les pointeurs vers les ressources permettant de comprendre les concepts du Deep Learning. »
Introducing GeoViews [Alexandre]
vendredi 16 septembre 2016
« Un article montrant l'utilisation de GeoViews, un paquetage Python pour manipuler et afficher des données géographiques. »
vendredi 9 septembre 2016
« Un article de blog qui explique l'utilisation des séquences d'échappement ANSI pour améliorer l'ergonomie de ses programmes en ligne de commande. Les exemples sont en Python. »
vendredi 8 juillet 2016
« Une introduction à l'algorithme de descente de gradient avec des exemples de code en Python. »
vendredi 10 juin 2016
« Une liste des fonctionnalités essentielles pour Python et Python scientifique et développée par l'IPGP. »
anotherTest.pyx [Vincent]
vendredi 3 juin 2016
« Sur cet exemple, l'auteur nous montre comment résoudre des erreurs de double définition de fonction lorsque l'on cythonize du code en C++. »
Matplotlib tutorial [Alexandre]
vendredi 20 mai 2016
« Un tutoriel vraiment bien fait pour s'initier à la visualisation de données avec matplotlib. »
inflect.py [Christian]
vendredi 8 avril 2016
« Le module inflect (Python) permet de générer des pluriels, convertir des nombres de mots, gérer les numéraux ordinaux et les articles. »
Binder [Vincent, le retour]
vendredi 25 mars 2016
« Binder est un service qui permet de faire tourner un notebook Jupyter préalablement déposé sur GitHub sur un serveur. N'hésitez pas à aller voir un des nombreux exemples, cliquez sur "launch binder" dans GitHub et vous comprendrez l'intérêt de ce service. »
Breathe [Alexandre]
vendredi 11 mars 2016
« Un outil sympa de génération de documentation faisant le pont entre Sphinx et Doxygen (plutôt orienté C/C++). »
vendredi 5 février 2016
« WSGI est un standard d'interface entre un serveur HTTP et une application écrite en Python. Malgré sa simplicité, il est, paradoxalement, souvent expliqué dans la littérature de manière compliqué... Cet article de S. Bortzmeyer introduit avec beaucoup de pédagogie cette technologie. »
vendredi 5 février 2016
« Comment tirer parti du type de données JSON avec PostgreSQL et Django, et comparaison avec MongoDB. »
Python is not C [Christian]
vendredi 22 janvier 2016
« Le titre résume aussi bien la conclusion de ce retour d'expérience: les stratégies pour améliorer les performances de son code Python sont très différentes de celles du développement en C... »
vendredi 8 janvier 2016
« Ce petit livre, dresse un inventaire utile et éclairant des choses à ne pas faire quand on développe en Python. »
vendredi 11 décembre 2015
« Ce billet est une introduction rapide à Cookiecutter avec Django. Cookiecutter est un utilitaire permettant de créer des projets logiciels à partir de templates. »
vendredi 4 décembre 2015
« Faire du profiling pour optimiser son programme Python. »
vendredi 4 décembre 2015
« ... ou comment accéder à des sous ensembles de données en C++ comme on peut le faire en python. »
vendredi 13 novembre 2015
« Cet article s'adresse aux ingénieurs système et à tous ceux qui écrivent du bash par nécessité, pour leur rappeler que Python est facile à apprendre, puissant et présent sur tous les OS Linux et UNIX. »
vendredi 13 novembre 2015
« Compter les choses dans Python. »
vendredi 13 novembre 2015
« Une introduction à Cython avec des exemples et des graphiques montrant les résultats de l'optimisation. »
Full stack Python [Christian]
vendredi 6 novembre 2015
« Ce guide s'adresse aux développeurs disposant d'une première expérience en Python mais qui débutent dans le développement et le déploiement d'applications web basées sur ce langage et ses bibliothèques. »
vendredi 6 novembre 2015
« Intégration continue de son code Python sous Windows. »
vendredi 23 octobre 2015
« Ce billet met en perspective l'utilisation des langages Python et R dans la mise en œuvre de deux techniques utilisées dans l'analyse de données: l'analyse en composantes principales et la classification (clustering). »
vendredi 23 octobre 2015
« Manipulation de données et machine learning en python »
vendredi 16 octobre 2015
« Le développement dirigé par les tests (TDD) en python, principe et mise en pratique avec nose. »
Scipy Lecture Notes [Christian]
vendredi 2 octobre 2015
« Sur ce site, Gaël Varoquaux et ses collègues ont compilé une grande quantité de notes de cours sur Python et l'écosystème scientifique. »
Intermediate Python [Christian]
vendredi 4 septembre 2015
«  Ce livre en ligne met l'accent sur quelques particularités du langage Python, parfois inconnues aux développeurs occasionnels (mais par ailleurs expérimentés), s’appuyant dans leur travail sur l'expérience acquise avec d'autres langages (C/C++, Java etc.). »
vendredi 3 juillet 2015
« Python a la réputation d'être un langage "facile". Pourtant, certains des concepts qui lui sont propres peuvent surprendre le développeur débutant. Cet article passe en revue les principales difficultés pour aider le novice à les surmonter plus facilement. »
vendredi 26 juin 2015
« Le besoin de disposer d'une distribution de système d'exploitation stable ne va pas de paire avec le besoin, tout aussi important, de travailler avec les versions les plus récentes des langages et des bibliothèques logicielles dans son domaine d'intérêt. Plusieurs solutions permettent de résoudre, au moins partiellement, ce dilemme. L'une d'entre elles s'appelle Docker et son utilisation est illustrée dans ce billet. »
vendredi 19 juin 2015
«  Ce billet est une introduction brève et ludique à Tox, outil en ligne de commande qui vise l'automatisation et la standardisation des tests en Python. »
vendredi 12 juin 2015
«  Ce billet montre, à travers un exemple simple, comment développer une application Django dotée d'une interface utilisateur moderne, basée sur AngularJS. Les interactions client/serveur sont basées sur ReST (representational state transfer), grâce à l'API "Django ReST Framework". »
Entry point: Data [Christian]
vendredi 5 juin 2015
«  Une introduction aux outils python pour l'analyse des données et en particulier pour le "Machine Learning" »
vendredi 24 avril 2015
«  Une brève introduction aux concepts de base du "Machine Learning", par Sebastian Raschka, illustrés avec des implémentations en Python. »
vendredi 24 avril 2015
«  Considération de performances en python #array #slice #Pypy #CPython »
Matplotlib: plotting [Christian]
vendredi 17 avril 2015
«  Un tutoriel très bien écrit sur la visualisation des données en Python, avec la bibliothèque Matplotlib. »
vendredi 10 avril 2015
«  Un wiki dédié au langage Cython, plein de bonnes astuces. »
vendredi 27 mars 2015
« Une introduction à la statistique avec Python. »
vendredi 20 mars 2015
«  Une petite introduction à l'analyse statistique en Python avec les bibliothèques Scipy et Pandas. »
vendredi 13 mars 2015
«  Formation à Python scientifique conçue pour les professeurs de classes préparatoires scientifiques mais potentiellement utile à tout scientifique ou ingénieur qui débute avec Numpy et Scipy. »
vendredi 27 février 2015
«  Panda est une bibliothèque Python dédiée à l'analyse des données, proposant des fonctionalités comparables à celles de R, y compris le fameux type Dataframe. A découvrir à travers cet article de Michael Hansen. »
vendredi 13 février 2015
«  Le mois dernier Guido van Rossum annonçait la sortie du premier draft de la PEPPEP=Python Enhancement Proposal 484. Elle définit un système d'annotation des types inspiré par Mypy, variante expérimentale de Python combinant typage dynamique et statique. Le billet suivant est une analyse de cette proposition par Jukka Lehtosalo, le leader du projet Mypy.  »
vendredi 6 février 2015
«  Comment implémenter une Analyse en Composante Principale (ACP) avec Python. »
vendredi 23 janvier 2015
«  Un petit article qui montre comment on peut appeler du code Python depuis un programme C/C++ et compiler le tout. »
vendredi 23 janvier 2015
«  Cette page est une mine de bonnes idées en matière de programmation des décorateurs en Python et aussi un excellent outil d'autoformation par la pratique. »
Wand [Olivier]
vendredi 23 janvier 2015
«  WAND un binding Python d'ImageMagick qui nous permet de manipuler facilement des images de très grande taille (+1Go). »
c++ [Olivier]
vendredi 16 janvier 2015
«  Une bibliothèque C++ qui présente une interface simple pour définir/utiliser/commenter les arguments d'un programme en ligne de commande. »
vendredi 16 janvier 2015
«  Ce n'est pas un scoop, pip est l'outil de gestion des packages Python qui a le vent en poupe. Mark Litwintschik explore dans cet article les possibilités de l'outil, ainsi que les solutions alternatives à utiliser quand, ponctuellement, on a besoin d'une fonctionnalité qui y est absente. »
vendredi 16 janvier 2015
«  Sam&Max nous présentent WAMP, un protocole de messaging basé sur le standard WebSocket permettant de faire à la fois du RPC (bye bye SOAP) et du Publish/Subscribe C'est vu sous l'angle Python mais ça s'utilise aussi bien en JS, C++, etc côté client ou serveur. Il y a aussi des transparents. »
vendredi 16 janvier 2015
«  Comment faire du BigData avec Python? Pour le CSV, une solution simple: blaze, aussi simple et efficace que Postgresql. »