Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
État des lieux
Capitol du Libre
23 novembre 2013
Pylint ?
Un analyseur statique de code Python
●

●
●

Trouve des bugs comme un compilateur
(mais beaucoup moins)
Vérifie l...
Architecture
●

●

●

●

Pylint s'appuie sur une bibliothèque pour la 
représentation du code source, Astroid
Le moteur pa...
Distribution de Pylint
Intégré à la plupart des IDE 
http://docs.pylint.org/ide-integration

Intégré à la plupart des dist...
Analyseurs de code Python
●

Pychecker (2001 – 2011)

●

Pylint (2003 – )

●

Pep8 (2006 – )

●

Pyflakes (2006 – )

●

Fl...
Un projet communautaire
●

Depuis le début, volonté d'un projet 
communautaire par Logilab

●

Reste un certain instinct d...
Des choix... de communication
Bon accueil et réactivité sur
●

Liste de discussion

●

Tickets

●

Patchs

Faible support ...
Des choix... d'interaction
Des releases régulières (tous les 2/3 mois)
Une forge de développement maison
Déménagement sur ...
Des choix...techniques
Résistance !
●

Les œufs, c'est pour les omelettes - Debian vaincra !

●

Winquoi ? Debian vaincra ...
Social ChangeLog
Mai 2003

0.1

Oct. 2003

0.2.1, 1er patch externe (?)

… releases tous les 2-3 mois
Mai 2008

découverte...
Quelques chiffres (très approximatifs)
Depuis mi-2006 (passage à Mercurial) :
●

●
●

2,101 commits, 56 contributeurs pour...
Retour d'expérience - 1
Libre != retours et contributions sans effort
●
●

La base = répondre à un besoin
Durer dans le te...
Retour d'expérience - 2
●
●

Code de qualité
Communiquer (documentation, annonces, blogs, 
etc.)
➢

●

Se démarquer, fidél...
Retour d'expérience – 3
●

Attention à l'affiliation trop explicite du projet à 
une société, e.g. logilab-astng, 
http://...
Actions et projets porteurs
●

Projets étudiants master & assimilés

●

Google Summer of Code

●

Sprints et bug days

●

...
Retour sur investissement
●

Pour Logilab :
●
●

●

Communication
Reconnaissance

Pour moi :
●

●

Compétence technique (a...
What's next pour Pylint ?
●

Plein d'idées d'améliorations, bugs à corriger... 

●

Contributeurs ponctuels, voire régulie...
Merci !
Sylvain Thénault
sylvain.thenault@logilab.fr
@sythenault
http://pylint.org/
http://www.logilab.org/ 
Upcoming SlideShare
Loading in …5
×

of

Pylint : 10 ans, état des lieux Slide 1 Pylint : 10 ans, état des lieux Slide 2 Pylint : 10 ans, état des lieux Slide 3 Pylint : 10 ans, état des lieux Slide 4 Pylint : 10 ans, état des lieux Slide 5 Pylint : 10 ans, état des lieux Slide 6 Pylint : 10 ans, état des lieux Slide 7 Pylint : 10 ans, état des lieux Slide 8 Pylint : 10 ans, état des lieux Slide 9 Pylint : 10 ans, état des lieux Slide 10 Pylint : 10 ans, état des lieux Slide 11 Pylint : 10 ans, état des lieux Slide 12 Pylint : 10 ans, état des lieux Slide 13 Pylint : 10 ans, état des lieux Slide 14 Pylint : 10 ans, état des lieux Slide 15 Pylint : 10 ans, état des lieux Slide 16 Pylint : 10 ans, état des lieux Slide 17 Pylint : 10 ans, état des lieux Slide 18
Upcoming SlideShare
Pylint
Next
Download to read offline and view in fullscreen.

1 Like

Share

Download to read offline

Pylint : 10 ans, état des lieux

Download to read offline

Présentation au Capitol du Libre 2013 à Toulouse

Related Books

Free with a 30 day trial from Scribd

See all

Pylint : 10 ans, état des lieux

  1. 1. État des lieux Capitol du Libre 23 novembre 2013
  2. 2. Pylint ? Un analyseur statique de code Python ● ● ● Trouve des bugs comme un compilateur (mais beaucoup moins) Vérifie les conventions de codage (beaucoup plus) Et aussi : « mauvaise » utilisation de Python, code smell, etc. Environ 170 vérifications ! Initié par Logilab en 2003 : 10 ans d’existence en 2013 !
  3. 3. Architecture ● ● ● ● Pylint s'appuie sur une bibliothèque pour la  représentation du code source, Astroid Le moteur parcourt l'arbre de syntaxe et envoie  des évènements à des checkers Ces checkers envoient des messages à un  reporter Architecture extensible  ● Beaucoup de possibilités de configuration ● Système de greffon pour ses propres checkers ● Astroid est lui-même configurable
  4. 4. Distribution de Pylint Intégré à la plupart des IDE  http://docs.pylint.org/ide-integration Intégré à la plupart des distributions Linux Pypi https://pypi.python.org/pypi/pylint Entrepôt Mercurial  https://bitbucket.org/logilab/pylint
  5. 5. Analyseurs de code Python ● Pychecker (2001 – 2011) ● Pylint (2003 – ) ● Pep8 (2006 – ) ● Pyflakes (2006 – ) ● Flake8 (2010 – ) ● McCabe (?) ● etc. 
  6. 6. Un projet communautaire ● Depuis le début, volonté d'un projet  communautaire par Logilab ● Reste un certain instinct de paternité ● Et un temps limité ➢ Comme toujours, il faut faire des choix et des  compromis 
  7. 7. Des choix... de communication Bon accueil et réactivité sur ● Liste de discussion ● Tickets ● Patchs Faible support et communication sur : ● IRC ● Twitter
  8. 8. Des choix... d'interaction Des releases régulières (tous les 2/3 mois) Une forge de développement maison Déménagement sur Bitbucket en signe  d'ouverture à la communauté (et parce qu'on n'est plus en  2003)
  9. 9. Des choix...techniques Résistance ! ● Les œufs, c'est pour les omelettes - Debian vaincra ! ● Winquoi ? Debian vaincra ! ● Standards LogilaboLogilabiens Mais certains choix stratégiques l'emportent ● Support Windows / Setuptools ● Py3k
  10. 10. Social ChangeLog Mai 2003 0.1 Oct. 2003 0.2.1, 1er patch externe (?) … releases tous les 2-3 mois Mai 2008 découverte de l'existence de gpylint Juil.  2011 0.25, 1ere « Google » release Avril 2013 déménagement chez Bitbucket Juin 2013 sprint vers 1.0 Août 2013 1.0, logilab-astng devient astroid
  11. 11. Quelques chiffres (très approximatifs) Depuis mi-2006 (passage à Mercurial) : ● ● ● 2,101 commits, 56 contributeurs pour un total de  23,119 lignes de code estimé à 6 années-homme d'effort + de 70 % des commits par Logilab (!= lignes de  code!) https://www.ohloh.net/p/pylint/contributors/summary Sur l'année : ● un « googler » a les droits en écriture ● 50 % des commits par des contributeurs ● 70 Pull Requests / 110 tickets depuis avril
  12. 12. Retour d'expérience - 1 Libre != retours et contributions sans effort ● ● La base = répondre à un besoin Durer dans le temps = fédérer et animer une  communauté  ● via tous les canaux possibles ● bon accueil, respect, réactivité
  13. 13. Retour d'expérience - 2 ● ● Code de qualité Communiquer (documentation, annonces, blogs,  etc.) ➢ ● Se démarquer, fidéliser ➢ ● veille Google, StackOverflow, Twitter note Pylint Évoluer en fonction des nouveaux besoins et des  nouveaux moyens
  14. 14. Retour d'expérience – 3 ● Attention à l'affiliation trop explicite du projet à  une société, e.g. logilab-astng,  http://www.logilab.org/project/pylint ➢ ● http://pylint.org (Très) difficile de fidéliser des contributeurs,  faciliter au maximum les contributions (tickets,  patchs, etc.) ➢ https://bitbucket.org/logilab/pylint
  15. 15. Actions et projets porteurs ● Projets étudiants master & assimilés ● Google Summer of Code ● Sprints et bug days ● Projet FUI SafePython http://www.safe-python.fr/ Coder; répondre aux questions ; releaser ;  communiquer ; coder ; répondre ; releaser ;  communiquer ;  coder ; répondre ; releaser ; communiquer ;   coder ; répondre ; releaser ; communiquer ;  coder ; répondre ; releaser ;  communiquer... 
  16. 16. Retour sur investissement ● Pour Logilab : ● ● ● Communication Reconnaissance Pour moi : ● ● Compétence technique (architecture, connaissance  de Python, expérience d'autres développeurs...) Compétence sociale (animation de communauté,  interactions)
  17. 17. What's next pour Pylint ? ● Plein d'idées d'améliorations, bugs à corriger...  ● Contributeurs ponctuels, voire réguliers ● Qui pour intégrer / animer / releaser ? (Attention, on s'attache à ces ptites bêtes là)
  18. 18. Merci ! Sylvain Thénault sylvain.thenault@logilab.fr @sythenault http://pylint.org/ http://www.logilab.org/ 
  • logilab

    Sep. 3, 2014

Présentation au Capitol du Libre 2013 à Toulouse

Views

Total views

1,844

On Slideshare

0

From embeds

0

Number of embeds

651

Actions

Downloads

3

Shares

0

Comments

0

Likes

1

×