Python WAW 2010 : Semaine 11
21/03/2010
Python
1 > Nouvelles versions de Python
La fondation Python a sortie deux nouvelles versions contenant des correctifs pour les branches 3.1 et 2.6 :
2 > EuroPython 2010 : Enregistrement, Appel à conférences et Appel à volontaires
Vous voulez aller ou participer à EuroPython qui aura lieu cette année à Birmingham ? Ce billet vous fait la synthèse des informations pour cette rencontre. N'hésitez pas à en faire la publicité.
3 > Sucks or Rocks ?
amplicate.com est site qui a pour vocation de répertorier les opinions à propos de thème de façon plutôt basique : on aime ou on aime pas. Les résultats pour
- python : Rocks 827 , Sucks 199
- java : Rocks 1198 , Sucks 834
- php : Rocks 1218, Sucks 986
- ruby : Rocks 1647 , Sucks 298
Faites faire du python ou du ruby aux développeurs ils sont plutôt plus content que de faire du php et du java !!
4 > Sortie de unittest2 et des nouvelles de nose
Le module unittest2 est un rétroportage de toutes les fonctionnalités ajoutées dans Python2.7. Il en compatible de Python 2.4 à Python 2.6.
Jason Pellerin, le créateur et mainteneur de nose, a indiqué dans un mail qu'il n'aurait plus le temps de travailler sur sa création pour au moins plusieurs années. De plus, les changements profonds dans les unittest de Python et l'arrivée de distuls2 nécessiterait de repartir sur ces nouvelles bases pour créer nose2.
Le point le plus intéressant est la séparation des méthodes setUpClass, setUpModule, tearDownClass et tearDownModule. Plus de détails dans l'article...
5 > Une serie de tutorial sur python.about.com
Voici une série de tutorial qui ont pour but de vous faire avancer dans l'apprentissage du langage python. Cela vous permettra de créer un calendrier en ligne ou même de créer un jeu.
Google Summer of Code
Pour rappel, les GSoC sont une contribution de Google aux logiciels libres. Les étudiants peuvent choisir parmi les sujets proposés par des projets libre et se verront dotés de 4500$ si leur projet est évalué positivement par leur mentor. Pour plus d'informations renseignez-vous auprès de votre équipe de développement préférée. Deux exemples de sujet :
Bases de données
NoSQL
1 > Les enregistrements audios de NoSQL Live Boston sont en ligne
Ces bases de données spécialisées sont souvent utilisées avec des framework légers ou des plateformes à haute performance (Facebook, Twitter, Digg, KARL,...)
MrTopf à mis en ligne les enregistrements audios des conférences NoSQL Live de Boston auxquelles il a assisté. Ils sont disponibles sur le site COM.lounge TV et en podcast.
La liste des conférences :
- CLTV41: Scaling with NoSQL
- CLTV42: NoSQL in the Cloud
- CLTV43: Lightning Talks
- CLTV44: Schema Design with Document-Oriented Databases
- CLTV45: The Evolution of the Graph Data Structure from Research to Production
- CLTV46: Toward Web Standards for NoSQL
- CLTV47: Lab Session on Apache CouchDB
- CLTV48: What’s new in MongoDB 1.4
Framework web
1> Tests de performances des serveurs web python
Nicholas Piël nous livre un test assez complet de 14 serveurs web codés en Python. Le but est de mesurer leur capacité de montée en charge et le taux d'erreurs constatées en charge.
| Gunicorn | 0.6.4 | No | processor/thread | GIT | ? | #gunicorn |
| uWSGI | Trunk (253) | Yes | processor/thread | repo | ? | Mailing List |
| FAPWS3 | 0.3.1 | No | processor/thread | GIT | William Os4y | Google Groups |
| Aspen | 0.8 | No | processor/thread | SVN | Chad Whitacre | Google Groups |
| Mod_WSGI | 3.1 | Yes | processor/thread | SVN | Graham Dumpleton | Google Groups |
| wsgiref | Py 2.6.4 | No | processor/thread | SVN | None | Mailing List |
| CherryPy | 3.1.2 | Yes | processor/thread | SVN | Planet CherryPy | Planet, IRC |
| Magnum Py | 0.2 | No | processor/thread | SVN | Matt Gattis | Google Groups |
| Twisted | 10.0.0 | Yes | processor/thread | SVN | Planet Twisted | Community |
| Cogen | 0.2.1 | Yes | callback/generator | SVN | Maries Ionel | Google Groups |
| GEvent | 0.12.2 | Yes | lightweight threads | Mercurial | Denis Bilenko | Google Groups |
| Tornado | 0.2 | Yes | callback/generator | GIT | Google Groups | |
| Eventlet | 0.9.6 | Yes | lightweight threads | Mercurial | Eventlet Blog | Mailinglist |
| Concurrence | tip | Yes | lightweight threads | GIT | None | Google Groups |
Les grands gagnants de ces tests sont FAPWS3, uWSGI, Tornado et GEvent. Je vous conseille de lire l'article en détail si vous êtes intéressés par les performances de vos applications. A noté que Pastre (utilisé par Pylons) ne supporte pas la charge d'après les benchmarks et a donc été retirer des résultats !!
Plone
1 > Le nouveau successeur de CacheFu pour plone4
Plone4 est la version la plus rapide qui n'a jamais été (heu c'est bluedynamics qui dit ca !!)
Mais a t'on besoin alors encore d'outils de configuration de cache http. Oui et la nouveauté de plone4 est d'offrir un nouvelle outil pour cela (qui en beta) le module plone.app.caching.
NB : l'install n'a pas fonctionné chez moi, erreur GenericSetup !
Django
1 > Mise à jour du planning de développement de la version 1.2
La semaine dernière il y avait un peu plus de 120 tickets ouverts à évaluer et corriger avant de pouvoir sortir la version 1.2 de Django. Après une semaine de travail intense il en reste encore 80 qui sont majoritairement axés sur 3 nouvelles fonctionnalités :
- des regressions causées par le refactoring de multi-db
- les modificiations apportés dans l'administration par l'ajout de javascript
- les cas limites dans la gestion de la localisation
Par conséquent la release candidate 1 est encore repoussée de deux semaines aux alentours du 5 avril, ce qui nous donnerai une version finale autour du 12 avril.
Le django debug toolbar est une interface permettant d'avoir des informations utiles de debuggage pour django. Il permet entre autre de vous informer sur :
- La version de Django
- le temps mis par la requete
- la liste des configurations issue de settings.py
- les headers http
- la visualisation des variables de sessions, des posts et des get
- des templates et du contexte utilisé et leur chemin d'accès
- Les requêtes SQL et leur temps d'execution
- Listes des signaux recus et emis
- l'output du module logging
3 > Tutorial sur les permissions des objets
La version 1.2 supporte les permissions sur les objets. Le tutorial suivant vous apprendra de crée un backend d'authentification , de créer des permissions pour le model et de tester l'ensemble. Plein de bonne chose aussi dans le site djangoadvent.com
4 > Intégration de Django dans PyDev
La version de PyDev en cours de développement intègre des facilitateurs pour Django :
- Projet Django
- Shell Django
- Synchronisation de la base de données
- Lancement des tests Django
- et sûrement plein d'autres d'ici la sortie de cette version...
Bottle
1 > Un petit nouveau dans la classe WSGI
Bottle se veut être le plus léger possible. Ca à l'air bien sympa pour écrire de petite application WSGI sans trop se prendre la tête. Il y a une intégration avec les moteurs de template suivant : mako , jinja2 et chettah. Dépendances ? aucune à part la librairie standard et LE fichier qui constitue bottle.
Diesel
1 > Un moteur assynchrone en python pas très écolo
Diesel utilise les générateurs pour donner une syntaxe la plus aisés possible pour écrire des opérations en paralèlles avec facilité.
Le framework a été écrit pour une application de messagerie instantanée pour les entreprises : shoptalk
Pylons
1 > Pourquoi avoir quitter Pylons pour Django ?
Voici un retour d'expérience entre l'utilisation de Pylons et de django. Point positif pour Django , la documentation , la rapidité de prise en main et d'exécution. Point négatif : la réutilisabilité des composants. Il dit que Pylons retient moins l'attention des développeurs car Django pour la plupart du temps convient pour les petits sites. Pylons , le point fort c'est qu'il n'y a pas de magie.
Contributions
Article écrit pour Encolpe DEGOUTE et Youenn Boussard pour l'AFPY
Sélection de liens par Encolpe DEGOUTE et Youenn Boussard
Si vous souhaitez écrire pour l'AFPY n'hésitez pas à nous contacter.







