Python 3.2

Posté par (page perso) . Modéré par Lucas Bonnet.
87
21
fév.
2011
Python

Un an et sept mois après Python 3.1, voici une nouvelle version majeure de Python 3 : la version 3.2. Elle apporte notamment deux nouveaux modules (argparse et concurrent.futures), des améliorations sur les extensions écrites en C (API stable et marquage dans le nom de fichier des bibliothèques) et les modules compilés (fichiers .pyc) sont désormais rangés dans un dossier « __pycache__ ». Pour rappel, Python 3 corrige les erreurs de jeunesse de Python et harmonise la bibliothèque standard (relire la dépêche annonçant Python 3.0).

Pour faciliter le travail des développeurs des autres implémentations de Python (IronPython, Jython, Unladen Swallow, PyPy), la syntaxe, la sémantique et les fonctions builtins n'ont pas changé dans version 3.2, comme décidé par le moratoire (PEP 3003: Python Language Moratorium). Le moratoire prend fin avec la publication de Python 3.2.

La seconde partie de la dépêche présente en détail les nouveautés de Python 3.2, l'état du portage des modules vers Python 3, et évoque ce qui est prévu pour la suite.

Python 3.4 est sorti avec 7 nouveaux modules

Posté par (page perso) . Édité par Davy Defaud, Benoît Sibaud, Nils Ratusznik, BAud, NeoX, Xavier Claude, palm123, Nonolapéro, jihele, Bluebird et tuiu pol. Modéré par tuiu pol. Licence CC by-sa
Tags : aucun
75
19
mar.
2014
Python

En termes de nouveautés, Python 3.4 est la version de Python qui en apporte le plus ! Il n’y a pas moins de 7 nouveaux modules entre Python 3.4 et 3.3 (séparés de 18 mois), tandis qu’entre Python 3.3 et Python 2.7 (séparés de 27 mois) il y en a huit. En termes de propositions d’améliorations de Python, 14 PEP (Python Enhancement Proposals) ont été implémentées dans Python 3.4. Cette version donne un sérieux coup de vieux à Python 2.7. La 2e partie de la dépêche détaille les principales nouveautés et la manière dont Python est développé.

Mon article Why should OpenStack move to Python 3 right now?, cité ci‐dessous, explique pourquoi Python 2 est désuet et pourquoi vous devez porter dès maintenant vos applications sur Python 3. L’article a été écrit pour le projet OpenStack mais reste général.

Entretien avec les développeurs Python francophones

Posté par (page perso) . Modéré par Lucas Bonnet.
66
16
avr.
2011
Python

Le 11 mars, nous vous proposions de poser des questions à des développeurs francophones du langage Python. Un peu occupés par leur participation à PyCon 2011, ils ont finalement trouvé le temps de vous répondre. Un grand merci à eux et à tous ceux qui ont posé les questions.


L'ensemble des réponses de l'entretien est en seconde partie et est placé sous licence Art Libre : cette œuvre est libre, vous pouvez la copier, la diffuser et la modifier selon les termes de la Licence Art Libre.

Python 3.3 est sorti

61
2
oct.
2012
Python

La version 3.3 de Python est sortie ce 29 septembre. Pour rappel, Python « est un langage de programmation multi‐paradigme. Il favorise la programmation impérative structurée et orientée objet. Il est doté d’un typage dynamique fort, d’une gestion automatique de la mémoire par ramasse‐miettes et d’un système de gestion d’exceptions ; il est ainsi similaire à Perl, Ruby, Scheme, Smalltalk et Tcl ». Merci Wikipédia.

Cette version 3.3 est donc la nouvelle version de production de la branche 3. Elle cohabite avec la version 2.7.3 de la branche 2.7. Cette nouvelle version apporte, entre autres, les fonctionnalités suivantes :

  • amélioration de la syntaxe des générateurs ;
  • un module venv capable de créer des environnement Python virtuels, tout comme VirtualEnv ;
  • revue du stockage interne des caractères, ce qui permet d’économiser de la mémoire ;
  • nouvelle façon de définir et placer les paquets d’un projet Python ;
  • des améliorations concernant l’API du module os, ainsi qu’une remise à plat des Exceptions concernant les entrées‐sorties ;
  • amélioration de l’intégration Windows ;
  • fonction de hachage aléatoire activée par défaut (permettant de se prémunir contre l’attaque des dictionnaires et des tables de hachage) ;
  • et bien d’autres…

Retrouvez en seconde partie de dépêche une liste plus complète des nouveautés.

NdA : Merci à FlashCode, Antoine, Victor Stinner, Laurent Pointal, Emmanuel C, jcr83, Amine « nh2 » Brikci‐Nigassa, GeneralZod, crep4ever, Nÿco et Le Cancre Las pour leur participation active à cette rédaction en collaboration.

Parution de Python 3.5

Posté par . Édité par Benoît Sibaud, palm123, Snark, M5oul, Yvan Munoz, jcr83, Davy Defaud, Nÿco, Pierre Jarillon et Lucas. Modéré par Benoît Sibaud. Licence CC by-sa
Tags :
55
22
sept.
2015
Python

La version officielle de Python 3.5 est parue le 13 septembre 2015, presque un an après la publication de la Python Enhancement Proposals (PEP) 0478 qui annoncait le planning de cette dernière, et un peu plus de 8 mois après la première alpha (du 8 février 2015).

Python

Voyons dans la suite de cette dépêche les nouveautés introduites par cette version.

Un projet de VM Python chez Dropbox et état des lieux des autres VM

Posté par (page perso) . Édité par palm123, BAud, Nÿco, sleibo, Maxime, Nonolapéro et Jiehong. Modéré par ZeroHeure. Licence CC by-sa
50
12
avr.
2014
Python

Dropbox lance PySton, une nouvelle implémentation de Python, basée sur LLVM, avec comme objectif de tirer partie des capacités JIT (Just-In-Time compiling, compilation à la volée) de l'architecture LLVM. Le but étant à terme d'utiliser Python là où du C++ était encore utilisé pour ses performances.

La suite de la dépêche fait un état des lieux des différentes VM Python et des projets d'améliorations de leur performances.

Sortie de R.A.S. v0.1

Posté par (page perso) . Édité par palm123, Benoît Sibaud, NeoX et Xavier Claude. Modéré par Xavier Claude. Licence CC by-sa
Tags :
49
13
oct.
2013
Python

Le logiciel RandoAmis.Secours (aka R.A.S.) vient de sortir en version 0.1, c'est donc la première release.

Qu'est ce donc ?

R.A.S. est un site web permettant de déclarer les sorties (montagne, canyon, escalade, ski de rando, …) que vous allez faire prochainement. Pour chaque sortie, un descriptif de la sortie ainsi que la localisation sur la carte sont déterminé. De plus 3 horaires sont à définir :

  • le début
  • la fin
  • l'alerte

Si par malheur, vous ne rentrez pas de votre sortie (par exemple à cause d'un accident), R.A.S. enverra des courriels à vos contacts, dès la date d'alerte passée.

Pourquoi ?

Je me suis récemment rendu compte que lors de sorties en montagne, les seules personnes au courant de cette sortie sont généralement également présentes à cette sortie. En cas de problème, il n'y a donc personne capable d'alerter les secours de notre absence.
Sachant que les téléphones portables ne passent souvent pas bien en montagne, il me fallait donc un système capable d'alerter mes proches en cas de problème.

IPython est mort, vive IPython 4.0

Posté par . Édité par palm123, emilien.schultz, Benoît Sibaud, Nÿco, ZeroHeure, zurvan, jcr83 et Snark. Modéré par Yvan Munoz. Licence CC by-sa
45
19
août
2015
Python

Pour ceux qui ne connaissent pas IPython et son historique, je vous propose de consulter les dépêches précédentes, car si à l'origine il s'agissait uniquement d'une console évoluée pour Python, l'envergure des possibilités a bien changé entre-temps. Cette nouvelle version revient doucement aux sources en diminuant considérablement les fonctionnalités présentes.

Il y a quelques mois, une description de ce que pouvait faire IPython aurait pris plusieurs heures d'explication sur le notebook, protocole de communication, qtconsole, etc. depuis cette nouvelle version IPython n'est plus qu'une console évoluée pour Python. On remarquera que c'est plus proche de la philosophie Unix : "Ne faire qu'une seule chose, et la faire bien".

Vu qu'il y a peu de nouvelles fonctionnalités dans cette nouvelle version, je ne vais pas m'attarder trop dessus. Et plutôt décrire les changements opérés.

Merci a emilien.schultz, Nÿco, palm123, zurvan, jcr83 et Snark pour avoir participé à la rédaction.

Sortie de Flask 0.11

Posté par . Édité par dovik, palm123, Nils Ratusznik, Nÿco et Stefane Fermigier. Modéré par Yvan Munoz. Licence CC by-sa
Tags :
43
15
juin
2016
Python

Flask est un micro-framework web pour Python publié sous licence BSD. Il est basé sur Werkzeug, Jinja2, MarkupSafe, ItsDangerous et Click.

La version 0.11 de Flask a été publiée le 29 mai 2016, sous le nom de code « Absinthe ». La version précédente, la 0.10.1, remontait au 14 juin 2013, soit presque trois ans.

Flask

Sortie de Django 1.3

42
24
mar.
2011
Python

Mercredi matin, 11 mois après la 1.2, est sortie la version 1.3 du framework Web Django, écrit en Python.

Ce framework, basé sur un concept Modèle-Vue-Contrôleur (MVC), est conçu pour le développement rapide et reprend la plupart des grands principes de Python (« Explicit is better than implicit », notamment), ce qui en fait la plate-forme de développement Web idéale pour les perfectionnistes sous pression.

De plus en plus de sites utilisent Django (par exemple, Bitbucket.org, Libération.fr, Disqus, Century21, convore, instagram, threadless…) pour sa flexibilité et pour le nombre d’applications Django réutilisables, qui ne cesse de croître.

Je vous propose de découvrir les quelques nouveautés que vous offrent les développeurs Django et toute la communauté.

Tomate : une petite applet de productivité pour Linux

Posté par (page perso) . Modéré par baud123. Licence CC by-sa
42
13
mai
2011
Python

Comme beaucoup d'entre nous, je souffre de problèmes de procrastination et d'attention, surtout devant un ordinateur. Comment résister à l'appel de l'Internet et se concentrer sur une tâche importante, mais pas forcément passionnante ?

Je me suis donc mis à la recherche d'outils qui puissent m'aider à mieux me concentrer. Je suis tout d'abord tombé sur un très bon livre recommandé par Papey : "Comment ne pas tout remettre au lendemain", par Bruno Koelz.

Finalement, pour moi, le diagnostic est le suivant : le plus difficile est de s'y mettre, c'est-à-dire de se concentrer pendant un laps de temps suffisant pour se plonger dans le problème. Une fois cette étape passée, continuer est beaucoup plus simple.

J'ai donc développé une petite applet qui me permet de passer un contrat avec moi-même: en cliquant sur une petite icône, je m'engage à me concentrer sur un problème donné pendant au moins dix minutes. L'icône devient alors rouge pendant dix minutes, après quoi elle passe au vert. Je suis alors libre de m'arrêter ou de continuer.

NdM : le projet est sous licence GPL 3.

Numba 0.14

Posté par . Édité par Benoît Sibaud. Modéré par patrick_g. Licence CC by-sa
42
18
sept.
2014
Python

Numba, l'optimiseur Python spécialisé dans le calcul numérique, est sorti en version 0.14. Numba est un compilateur juste-à-temps (JIT) pour Python, basé sur LLVM, permettant d'optimiser du code de calcul numérique, notamment basé sur Numpy. Il est compatible avec CPython 2.6, 2.7, 3.3 et 3.4. Des paquets binaires sont disponibles via Anaconda, la distribution de paquets binaires dédiée au calcul scientifique maintenue par Continuum Analytics, l'entreprise qui développe Numba.

Kalliope, votre assistant personnel vocal

Posté par . Édité par Davy Defaud, palm123, Benoît Sibaud, Yvan Munoz et ZeroHeure. Modéré par Yvan Munoz. Licence CC by-sa
42
20
nov.
2016
Python

Kalliope est un assistant vocal personnel. Il peut, par exemple, vous permettre de piloter votre installation domotique à la voix. Il est écrit en Python et est sous licence MIT. Le code est disponible sur GitHub.

logo kalliope

Sortie de Django 1.4

Posté par (page perso) . Édité par patrick_g, baud123, Xavier Claude, detail_pratique, Tobu et Florent Zara. Modéré par Florent Zara. Licence CC by-sa
Tags :
40
27
mar.
2012
Python

Vendredi matin, un an après la 1.3, est sortie la version 1.4 du framework Web Django, écrit en Python.

Ce framework, basé sur un concept Modèle-Template-Vue (MTV, à rapprocher du MVC), est conçu pour le développement rapide et reprend la plupart des grands principes de Python (« Explicit is better than implicit », notamment), ce qui en fait la plate-forme de développement Web idéale pour les perfectionnistes sous pression.

De plus en plus de sites utilisent Django (par exemple, 20minutes, Libération.fr, Disqus, Century21, convore, instagram, threadless…) pour sa flexibilité et pour le nombre d’applications Django réutilisables, qui ne cesse de croître.

Je vous propose de découvrir les quelques nouveautés que vous offrent les développeurs Django et toute la communauté.

Sortie de IPython 5.0

Posté par . Édité par Lucas, palm123, Xavier Teyssier, Storm, Nils Ratusznik, Benoît Sibaud et M5oul. Modéré par ZeroHeure. Licence CC by-sa
40
14
juil.
2016
Python

IPython est un terminal interactif pour Python qui améliore l'expérience utilisateur lors de l'usage en ligne de commande. Entre les versions 0.12 et 3.x incluses, IPython contenait aussi un grand nombre de fonctionnalités liées au "Notebook" qui fait maintenant partie du "Project Jupyter" – voir dépêche précédente. Cette nouvelle version 5.0 est donc en partie un retour aux sources qui se concentre sur l'interface en ligne de commande de IPython.

Ce qui suit est une adaptation approximative de l’annonce faite sur le blog de Jupyter.

Grand merci à palm123, Storm, M5oul et en particulier à Lucas qui a fait plus de la moitié de la traduction pendant que je suis à SciPy 2016 à Austin, Texas.

Pandas, une bibliothèque pour manipuler facilement des données

Posté par . Édité par Benoît Sibaud, karteum59, _PhiX_, Jiehong, olivierweb, Nÿco, palm123, Benoît et mornik. Modéré par tuiu pol. Licence CC by-sa
38
19
jan.
2014
Python

À l'occasion de la sortie de la version 0.13, je vous présente cette bibliothèque basée sur Python qui permet de travailler simplement et efficacement avec des données structurées. Jusqu'à présent, les versions se sont enchaînées rapidement mais celle-ci arrive plusieurs mois après la précédente. On peut donc espérer qu'un code développé pour cette nouvelle version demandera moins de maintenance.

Logo pandas

Les principales possibilités sont :

  • récupérer des données depuis des fichiers CSV, tableaux Excel, des pages web, HDF5, etc. ;
  • grouper, découper, alléger, déplacer, écrire les données ;
  • ces données peuvent être à une ou deux dimensions, avec des manques, ou encore temporelles avec ou sans périodicité.

Pour peu que les données soient correctement formatées, pandas peut s'en sortir même dans le cas où la quantité dépasse les capacités de votre machine en traitant les sources morceaux par morceaux.

Le développement de cette bibliothèque s'inscrit dans la problématique de disposer d'outils pour manipuler de gros volumes de données dans le but de leur exploitation scientifique ou commerciale.

Note : pandas fonctionne avec la même base de code sur Python 2 et 3 mais ce n'est, peut-être, pas le cas de toutes les dépendances.

Python arrive en version 3.1

Posté par (page perso) . Modéré par tuiu pol.
Tags :
36
2
juil.
2009
Python
Le langage de programmation Python arrive dans une version 3.1 qui marque la maturation de la branche 3.x. Le passage à Unicode par défaut pour les chaînes de caractères dans Python 3.0 était source de nombreuses régressions au niveaux des performances. Celles-ci ont été gommées par la réécriture en C de la bibliothèques d'entrées/sorties (io) et l'optimisation des décodeurs des principaux jeux de caractères (ISO-8859-1, UTF-8 et UTF-16).

Les nouvelles fonctionnalités ne sont pas en reste. Le type « dictionnaire ordonné », qui conserve l'ordre d'insertion des éléments, souvent demandé par les utilisateurs, fait enfin son entrée dans le langage sous le nom « odict » (PEP 372: Adding an ordered dictionary to collections). L'instruction « with » accepte désormais d'écrire plusieurs contextes sur la même ligne, rendant contextlib.nested() désuet.

La seconde partie de la dépêche détaille les nouveautés de la version 3.1.

Sortie de Shinken 0.6

36
6
mai
2011
Python

Les auteurs de Shinken, outil de supervision compatible avec Nagios, viennent de publier leur dernières avancées sur ce projet. Cette version est dans la continuité de ce à quoi ils nous ont habitué, avec de nombreuses nouveautés :

  • un module de découverte automatique du réseau ;
  • une amélioration de l’architecture distribuée, pour gérer au mieux les pertes des sites distants et les DMZ ;
  • un support avancé des environnements VMWare.

Publication de Pyramid 1.5

36
5
mai
2014
Python

Sept mois après la sortie de la version alpha, la version 1.5 est disponible en version stable. Pyramid est un framework Python (Python2 et Python3) pour le développement de sites web, développé avec le projet Pylons (qui regroupe justement des frameworks web), sous licence libre BSD.

Pyramid

Pythran 0.6 - compilation de noyaux scientifiques écrits en Python

36
6
nov.
2014
Python

Pythran est un compilateur pour les noyaux de calcul scientifique écrit en Python. Il permet d'écrire des modules dans un large sous-ensemble de Python + Numpy, d'ajouter quelques lignes de commentaire pour spécifier les types des fonctions exportées, enfin de compiler l'ensemble pour obtenir un module natif capable (parfois !) d'utiliser efficacement multi-cœurs et unités vectorielles. Le reste de la dépêche décrit le fonctionnement du compilateur, les évolutions récentes et propose une comparaison avec les alternatives : Cython, numba et parakeet.

Trigger Happy : une passerelle entre vos services Internet

Posté par (page perso) . Édité par Nils Ratusznik, Davy Defaud, palm123 et ZeroHeure. Modéré par Pierre Jarillon. Licence CC by-sa
36
10
nov.
2016
Python

Trigger Happy se veut être une alternative libre du célébrissime site/service IFTTT. Le principe ? Récupérer des informations situées à l’autre bout de la toile pour les publier ou les enregistrer ailleurs. Trigger Happy est disponible en version 1.1.0 depuis le 25 octobre dernier.

Exemples de scénarii :

  • à chaque nouvelle dépêche sur LinuxFr.org, sans lever le petit doigt, je sauvegarde l’article sur mon compte wallabag ;
  • chaque tweet disposant des mots « job développeur Python » est enregistré dans mon compte Evernote ;
  • chaque ticket ouvert sur GitHub crée une carte sur mon compte Trello (et/ou inversement) ;
  • quand j’enregistre une note sur Evernote, cela publie un billet sur mon blog à l’aide de Pelican.

Python 2.7

Posté par (page perso) . Modéré par patrick_g.
Tags : aucun
35
6
juil.
2010
Python
Un peu moins de deux ans après la version 2.6, la fondation Python est heureuse de vous annoncer la publication de la version 2.7. Cette version marque la fin d'une ère, car ça sera la dernière version majeure de la branche Python 2. Justement, Python 2.7 apporte beaucoup de nouveautés qui viennent de Python 3.1 (listées en seconde partie de la dépêche) dans le but de simplifier la migration de Python 2 vers Python 3. La branche 2.7 sera maintenue plus longtemps que les précédentes versions 2.x.

Python est un langage de programmation interprété multi-paradigme. L'interprète standard (CPython) est distribué sous licence PSF (semblable à la licence BSD). CPython est multiplateforme : Windows, Linux, Mac OS X, *BSD, AIX, MS-DOS, OS/2, QNX, etc.
CPython sert de référence pour le langage Python et les autres implémentations : PyPy (écrit en Python), IronPython (plateforme .NET) et Jython (JVM). Ces implémentations ne sont pas aussi à jour que CPython puisque IronPython est compatible avec Python 2.6 tandis que PyPy et Jython sont compatibles 2.5.

Retour sur Django 1.5

Posté par (page perso) . Édité par redgriff, Nÿco, Atem18, RoPP, Xavier Claude, tuiu pol, Benoît Sibaud, jcr83 et Thomas DEBESSE. Modéré par tuiu pol. Licence CC by-sa
Tags :
35
5
mai
2013
Python

Le mardi 26 février, 11 mois après la 1.4, est sortie la version 1.5 du framework web Django, écrit en Python. Ce framework, basé sur un concept Modèle-Gabarit-Vue (MGV, à rapprocher du MVC), est conçu pour le développement rapide et reprend la plupart des grands principes de Python (« Explicit is better than implicit », notamment), ce qui en fait la plate-forme de développement Web idéale pour les perfectionnistes sous pression.

De plus en plus de sites utilisent Django (par exemple, 20minutes, Libération.fr, Disqus, Century21, Convore, Instagram, Threadless…) pour sa flexibilité et pour le nombre d’applications Django réutilisables, qui ne cesse de croître. Je vous propose de découvrir les quelques nouveautés que vous offrent les développeurs Django et toute la communauté.

NdM : le 28 mars la version 1.5.1 de Django est sortie. Il s'agit d'une version de maintenance corrigeant quelques bogues mineurs et un problème de fuite de mémoire introduit par la version 1.5.

Sortie d’IPython en version 3.0

Posté par . Édité par palm123, BAud, Benoît Sibaud, Nicolas Casanova, Nÿco, Snark, Ytterbium, eggman et Jiehong. Modéré par NeoX. Licence CC by-sa
35
28
fév.
2015
Python

Pour ceux qui ne connaissent pas IPython, je vous propose de consulter les dépêches précédentes car, même si à l'origine il s'agissait uniquement d'une console évoluée pour Python, l'envergure des possibilités a bien changé.

Pour rappel : IPython est une console alternative principalement tournée vers l’exploration interactive des données. […] Au‐delà d’une simple console Python, elle est aussi agnostique au niveau du langage en offrant une console Qt, un notebook Web (interface Web riche) et l’architecture pour y écrire dans son dialecte préféré.

Pour ceux qui préfèrent une version des nouvelles fonctionnalités dans la langue de Shakespeare, je vous suggère de lire les notes de version en anglais. Je vais me contenter de faire une traduction libre dans la langue de Molière, ainsi que de digresser sur d'autres sujets voisins.

Merci à tous les contributeurs à cette dépêche qui ont corrigé toutes mes fautes, anglicismes et autre erreurs qui font saigner les yeux etc. Merci palm123, eggman, BAud, Jiehong, Nÿco, Snark, Ytterbium et Nicolas Casanova.

Sortie de R.A.S. v0.4, alias RandoAmisSecours

Posté par (page perso) . Édité par palm123, Xavier Claude et Florent Zara. Modéré par Ontologia. Licence CC by-sa
Tags : aucun
34
14
fév.
2014
Python

Il y a quelques mois sortait la première release (v0.1) de R.A.S. (aka RandoAmisSecours), sous licence AGPL v3

Pour rappel, R.A.S. est une application web permettant de déclarer les sorties (montagne, canyon, …) que l'on va effectuer. Chaque sortie étant assortie d'un horaire de fin. Si vous ne revenez pas à temps de votre sortie (par exemple à cause d'un accident), R.A.S. alertera vos contacts par mail. Je vous avais parlé de ce projet dans cette dépêche. Suite aux nombreux retours, j'ai réalisé de (très) nombreux développements qui ont amené à la sortie de 3 releases, dont voici la dernière, la v0.4.