DChars, pour lire/écrire et modifier des caractères unicodes complexes

Posté par  (site web personnel) . Édité par baud123, claudex, Benoît Sibaud, patrick_g et Xavier Teyssier. Modéré par Xavier Teyssier. Licence CC By‑SA.
27
23
mar.
2013
Python

Dans le cadre d'un projet, j'ai eu besoin d'un module pour analyser et modifier les caractères complexes de certains systèmes d'écriture, en particulier en hébreu, grec ancien ou sanskrit. Mon code commence à devenir utilisable, je le publie donc sous une licence GLPv3 : DChars est un module pour Python3.

J'ai essayé de coller à certains principes facilitant le travail en communauté ainsi que l'écriture de code lisible : tests unitaires, code et commentaires écrits en anglais, surveillance de la qualité du code par Pylint, documentation fournie et écrite avec Sphinx.

Concrètement, je cherche d'autres personnes susceptibles d'utiliser ou d'améliorer mon module. Si vous utilisez les langues concernées, dites-moi si ce que j'ai fait vous convient ! En particulier, si certains connaissent très bien la norme ISO 15919, je suis preneur… De façon générale, n'hésitez pas à faire remonter vos remarques, je n'attends que ça, surtout si elles sont négatives !

Sortie de Twisted 14.0.0

Posté par  (site web personnel, Mastodon) . Édité par palm123, BAud, Florent Zara et claudex. Modéré par patrick_g. Licence CC By‑SA.
27
16
mai
2014
Python

Twisted est un cadriciel (framework) de développement asynchrone pour Python. Le projet est ancien (plus de 11 ans), stable, largement utilisé, activement développé et dispose d'un nombre impressionnant de fonctionnalités (serveur/client HTTP, IMAP, SSH, FTP, IRC, NNTP, support de TCP, UDP, SSL/TLS, Multicast, etc). Plusieurs projets gravitent autour, comme Wokkel qui améliore grandement la prise en charge déjà existante de XMPP, ou Crochet qui permet d'utiliser Twisted depuis des programmes bloquants. La suite de la dépêche décrit les nouveautés de la fraîche 14.0.0.

NdA : Merci à palm123 et BAud pour leur relecture et leurs corrections.

Sortie de Django 1.9

Posté par  . Édité par Lucas, M5oul et bubar🦥. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
27
4
déc.
2015
Python

Django est, pour ceux qui ne le connaissent pas encore : « un framework libre de développement web en Python. Il a pour but de rendre le développement web 2.0 simple et rapide » selon sa page Wikipedia. Plusieurs sites grand public sont désormais fondés sur le framework, dont Pinterest, Instagram ou encore Mozilla.

La version 1.9 du framework est sortie ce 1er décembre 2015 et vient comme d’habitude avec son lot de nouveautés que nous tâcherons de présenter dans cette dépêche.

Python dépasse Java en popularité selon l’indice TIOBE de novembre

Posté par  (site web personnel) . Édité par Davy Defaud, ted et Xavier Teyssier. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
27
6
nov.
2020
Python

Selon TechRepublic, qui commente la dernière édition de l’indice TIOBE qui mesure (de façon certes un peu opaque) la popularité des langages de programmation, Python vient de passer devant Java et est devenu deuxième derrière C. Preuve à la fois de la maturité du langage Python dans l’industrie et de la montée en force des usages pour lesquels il excelle (notamment l’apprentissage automatique).

Cela serait sans doute anecdotique si d’autres sources n’avaient pas également classé Python parmi les langages les plus dynamiques ces dernières années, notamment :

Par ailleurs, si vous utilisez Python et que vous souhaitez exprimer votre avis sur son évolution, il vous reste (à la date d’écriture de cette dépêche) deux jours pour participer à l’enquête annuelle de la PSF (Python Software Foundation) et de JetBrains auprès des développeurs Python.

Inflectiones, déclinaisons et conjugaisons en grec ancien

Posté par  (site web personnel) . Édité par Benoît Sibaud et tuiu pol. Modéré par ZeroHeure. Licence CC By‑SA.
26
13
fév.
2014
Python

En bref : inflectiones est une bibliothèque (Python3, GPLv3) qui permet de conjuguer et de décliner des mots. Le travail inverse (analyser un mot pour en dégager les caractéristiques morphologiques) ne m'intéressant pas, n'a pas été codé. Enfin, seuls quelques exemples tirés du grec ancien et de l'esperanto sont disponibles, voyez les exemples ci-dessous. Le projet n'en est qu'à ses débuts et attend du renfort !

Le projet Unladen Swallow vise à accélérer Python d'un facteur 5

Posté par  . Modéré par patrick_g.
Étiquettes :
26
31
mar.
2009
Python
Des ingénieurs de Google ont lancé un projet, Unladen Swallow, qui vise à accélérer Python d'un facteur cinq au moins. L'idée est de créer un compilateur à la volée (JIT) basé sur LLVM pour remplacer la machine virtuelle de l'interpréteur Python.

Au passage, plusieurs améliorations sont envisagées, dont un nouveau ramasse-miettes et la possibilité de s'affranchir du Global Interpreter Lock (GIL). Le GIL est un verrou qui assure que les objets Python se comportent de manière thread-safe (ils ne le sont pas intrinsèquement), mais qui pénalise les programmes multithreadés.

Proposition de moratoire de plusieurs années sur le coeur du langage Python

Posté par  (site web personnel) . Modéré par patrick_g.
Étiquettes : aucune
26
22
oct.
2009
Python
Guido Van Rossum a proposé hier un moratoire de plusieurs années sur le cœur du langage Python. Si cette proposition est retenue, alors aucun changement dans la grammaire et la sémantique du langage ne sera accepté durant cette période. La bibliothèque standard n'est donc pas concernée.

Guido Van Rossum donne comme raison pour ce moratoire les difficultés d'implémentation des versions alternatives de Python. CPython étant l'implémentation la plus répandue (standard de facto) et installée sur la plupart des distributions GNU/Linux actuelles, GvR parle de Jython, IronPython, PyPy et d'autres.

Le créateur du langage Python pense également que ce moratoire permettrait à Python 3.x de se diffuser plus largement qu'il ne l'est à l'heure actuelle.

Il est vrai que la transition de Python 2.x vers 3.x a été une source de perturbations importantes, 3.x cassant en effet la compatibilité avec la branche 2.x et 3.x est loin d'être aussi utilisée que la 2.x.
Debian ne travaille en ce moment qu'à la mise en place de Python 2.6 en tant que version par défaut de leurs systèmes. Cette proposition de Guido Van Rossum sera, si elle est acceptée, lourde de conséquences (bonnes ou mauvaises, l'avenir le dira) sur l'avenir du serpent le plus inventif qu'ait apprivoisé la communauté du libre depuis son commencement.

Shinken 0.5 : la supervision au pas de charge

Posté par  (site web personnel) . Modéré par baud123.
26
27
jan.
2011
Python
Shinken, l'outil de supervision pleinement compatible avec Nagios écrit en Python [1], sort une nouvelle version un peu plus d’un mois et demi après la précédente !

Cette version 0.5 au doux nom de code imagé ver de terre éruptif continue sur le même rythme effréné. Comme à son accoutumée, elle est disponible sous forme classique et sous forme d’une machine virtuelle de démonstration [2].

Outre les classiques corrections de bugs, on peut noter cinq nouvelles fonctionnalités principales.
  • Rajout du chiffrement SSL entre les processus, basés sur des certificats ;

  • Des périodes d’absences pour les contacts ;

  • Les escalades de notifications basées sur le temps, afin de mieux coller aux notions de SLA ;

  • L’arrivée de la notion de criticité des hôtes et services ;

  • Et la dernière mais pas la moindre : l’arrivée dans le cœur de l’application des règles de corrélations d'états !

PyConFR 2018, du 4 au 7 octobre à Lille : appel à contributions

Posté par  . Édité par Davy Defaud et Benoît Sibaud. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
26
17
juin
2018
Python

PyConFR18

La PyConFR, c’est le rassemblement annuel francophone de passionnés et curieux du langage Python. Cette année, on invite la communauté à se retrouver à Lille du 4 au 7 octobre.

Pour ceux qui ne connaissent pas la formule, les deux premiers jours (jeudi et vendredi) sont dédiés à des sprints (hackathons), et le week‐end sera rempli de conférences et d’ateliers découverte.

Contribuez à cette édition et aidez‐nous à la rendre mémorable en proposant du contenu : conférences, ateliers, sprints !

Quelques idées de sujets : enseignement du langage, montée en charge (scaling), sécurité, science des données, apprentissage automatique (machine learning), retour d’expérience, empaquetage, présentation d’une bibliothèque, Internet des objets (IoT), asynchrone, communauté, diversité, pyre-check, 2to3, PyPy, Python vs Go, intégration et livraison continues (CI/CD), stockage de données, agents conversationnels (chatbots), Python magic, Ansible vs SaltStack et tellement d’autres…

Sortie de txt2tags 2.6

Posté par  . Modéré par Florent Zara.
Étiquettes :
25
6
nov.
2010
Python
Deux ans après la version 2.5, et après avoir soufflé ses 9 bougies, la version 2.6 de txt2tags vient enfin de sortir. Ce générateur de documents, intelligent et minimaliste (un seul script en python) a pour slogan : UNE seule source, des sorties MULTIPLES !

En effet, il est aisé d'exporter un document balisé grâce à la syntaxe claire de txt2tags, vers plus de 18 formats populaires tels que HTML, Mediawiki, LaTeX, DocBook, DokuWiki etc. Txt2tags permet également de modifier les exportations finales grâce à un puissant système de macros et de regex, étendant de façon illimitée les possibilités de bases.

Sortie de Tryton 2.6

Posté par  (site web personnel) . Édité par Pilou, Nÿco, Davy Defaud, Florent Zara, bechamel, claudex, baud123 et Yves Bourguignon. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
25
25
oct.
2012
Python

Avec la régularité d’une horloge suisse, la version automnale de Tryton est arrivée. Tryton est une plate‐forme de développement d’applications pour entreprise (progiciel de gestion intégré — PGI —, ERP en anglais) écrit en Python et sous licence GPL v3. Actuellement, les principaux modules disponibles de Tryton couvrent les champs d’activité suivants : comptabilité, facturier, gestion des ventes, gestion des achats, comptabilité analytique, gestion de stock et de production.

Logo Tryton

L’évolution la plus importante est le passage à l’active record (patron de conception) qui était en préparation depuis plus de 2 ans. L’interface graphique n’est pas en reste, avec l’ajout du copier‐coller depuis un tableur. Comme d’habitude, la migration depuis les versions précédentes est prise en charge.

Les robots simulés débarquent sur le Web

Posté par  . Édité par Davy Defaud, ZeroHeure et bubar🦥. Modéré par bubar🦥. Licence CC By‑SA.
25
24
août
2017
Python

Utiliser un logiciel de simulation de robots a longtemps nécessité une grande motivation et beaucoup de temps pour installer des gros logiciels et surtout comprendre comment ils marchent…

Heureusement, le cloud vient à notre rescousse : Robotbenchmark nous propose de programmer des robots en Python sans trop se fatiguer avec une série de petits challenges variés. Du suivi de mur pour un robot à roues à une course de dix mètres pour un petit robot humanoïde, un pendule inversé ou encore un suivi visuel pour un robot chien… Ce site utilise X3DOM (un frontal libre à WebGL pour représenter les robots et leur environnement en 3D dans le navigateur. La simulation, assez réaliste, tourne dans le cloud sur des serveurs GNU/Linux. Notre petit programme en Python qui contrôle notre robot tourne lui dans Firejail, un « bac à sable » de sécurité pour GNU/Linux.

Bon, mon programme Python a fait une minute, 46 secondes et 51 dixièmes sur le sprint du robot humanoïde, c’est bien, mais je ne suis pas le plus fort. J’y retourne…

N. D. M. : Robotbenchmark utilise une infrastructure de simulation qui est un logiciel privateur.

Sortie de Python 3.0 version finale

Posté par  . Modéré par j.
Étiquettes :
24
5
déc.
2008
Python
Le 3 décembre 2008, la version finale du langage interprété Python est sortie en version 3.0, après deux Release candidates. Cette version représente une évolution majeure du langage, brisant la compatibilité avec les versions précédentes pour corriger les erreurs de conception.

Selon Haypo, le changement majeur de Python3 est le passage intégral à Unicode : par défaut les fichiers sont ouverts en mode texte en Unicode, un script Python est en UTF-8 (Unicode), on peut utiliser des identifiants en Unicode (libre à vous d'écrire en japonais, français ou anglais, après ça dépend avec qui vous souhaitez travailler), et utilisation d'Unicode dans la grande majorité des modules (la bibliothèque standard).

Pour celles et ceux qui s'interrogeraient quelle version de la 2 (2.6) ou de la 3 (3.0) ils devraient choisir, il est préférable de commencer par la 2 car de nombreux modules additionnels sont directement disponibles et testés pour cette version. Ensuite avec l'outil 2to3, il est possible de tester son code avec la version supérieure. On peut noter que quelques améliorations prévues pour Python 3 ont été rétropropagées dans Python 2.6, permettant une transition plus facile.

Python 3.0 a pris beaucoup de retard sur son planning. L'équipe Python a préféré corriger tous les bugs plutôt que de sortir une version boguée qui dégoûterait les gens de Python 3.

NdM : Merci à Haypo pour son journal publié précédemment à ce sujet

Python — partie 10 — Entretiens

24
12
mai
2021
Python

Pour cette dépêche, nous donnons la parole à celles et ceux qui pratiquent le langage de programmation Python : des développeuses et développeurs de différents domaines, mais aussi d’autres métiers comme les scientifiques des données (data scientists), les scientifiques de l’apprentissage automatique (machine learning), les analystes quantitatifs (quant)… et bien d’autres…

Un barbu se tien derrière un écran d'ordinateur qui affiche « partie = 13, "Entretiens" \n print(partie) » et à droite le logo de Python (deux serpents stylisés) entouré de petites icônes symbolisant la variété des domaines où s'applique Python.

La version 2.2 de Tryton est arrivée

Posté par  (site web personnel) . Modéré par Bruno Michel. Licence CC By‑SA.
24
31
oct.
2011
Python

Comme tous les six mois, arrive une nouvelle version de Tryton.

Tryton est une plate‐forme de développement d’applications pour entreprise écrite en Python (un progiciel de gestion intégré, mais il pourrait être bien plus — ou bien moins — que ça). Tryton est toujours un fork d’OpenERP qui a déjà quatre ans d’existence.

Au cours de ces six derniers mois, de nombreux changements ont touché l’interface utilisateur. Notons parmi ceux‐ci :

  • les fenêtres surgissantes (pop‐up) sont maintenant « non‐modales », ce qui signifie qu’elles sont liées à leur onglet d’origine. On peut donc conserver une pop‐up ouverte et interagir avec les autres onglets, car l’activation d’un onglet restaure les fenêtres préalablement ouverte ;
  • le widget de recherche a été complètement repensé. Un seul champ est utilisé et l’auto‐complétion permet de faciliter l’écriture de requêtes. Tout comme Google, des recherches complexes peuvent être effectuées.

Du côté du serveur de nombreuses améliorations ont été apportées, dont voici les
plus importantes :

  • l’utilisation d’unoconv permet de transformer les modèles OpenDocument dans un très large ensemble de formats répandus ;
  • l’utilisation de fichiers « .po » pour la gestion des traductions ;
  • un cache LRU au niveau de la transaction a permis de réduire considérablement l’empreinte mémoire du serveur.

Notons également que ces six derniers mois ont aussi été marqués par la transition de GNU Health (anciennement connu sous le nom de Medical) d’OpenERP à Tryton. Luis Falcón, le développeur principal de ce logiciel de gestion hospitalière, a en effet fait pas mal de bruit autour des raisons motivant ce changement ; c’est la gouvernance du projet Tryton qui a convaincu Luis.

PyCharm propose une version libre

Posté par  . Édité par Benoît Sibaud, claudex, SigNix et Albert_. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
24
1
jan.
2014
Python

À l'occasion du passage en version 3.0 de son environnement de développement intégré (IDE) pour Python propriétaire, l'éditeur Jetbrains propose une version communautaire allégée sous licence Apache 2.0 de PyCharm.

Jetbrains propose des environnements de développements pour différents langages (Python, Java, Ruby) et des outils qui gravitent autour du développement : intégration continue, gestion de tickets/bugs. On trouve par exemple IntelliJ IDEA, un environnement de développement intégré (IDE) Java développé sous double licence (propriétaire payante et libre Apache v2).

Wikipedia propose (en anglais) un comparatif des différents IDE.

PyCharm offre la coloration syntaxique, l'auto-complétion du code, la vérification de code en direct, un débogueur graphique, l'intégration avec les principaux gestionnaires de versions, la gestion des environnements virtuels (VirtualEnv), la gestion des tests, etc.

Il manque, par rapport à la version professionnelle propriétaire, l'intégration avec les cadriciels web tels que Django, Flask, Pyramid (ajouté dans cette version), GoogleApp Engine ainsi qu'une interface de gestion de bases de données. Pour les projets Open Source il est possible d'obtenir une licence de cette version professionnelle sous réserve de remplir certains critères et de soumettre sa demande en ligne.

Python — partie 3 — Installation de Python et de paquets

23
22
sept.
2019
Python

Pour cette rentrée 2019, faisons le point sur Python : actualité, bonnes pratiques, astuces, projets intéressants, témoignages…

Cette troisième dépêche présente différentes façons d’installer Python, ainsi que l’installation de paquets supplémentaires : applications et bibliothèques Python. 🖥 💻 🐍

Python installation

Développer une interface web avec le toolkit Atlas (1/2)

Posté par  (site web personnel) . Édité par Ysabeau 🧶 🧦. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
23
1
jan.
2021
Python

Le toolkit Atlas permet de programmer des interfaces d’applications web monopages (SPA). Il est léger (quelques dizaines de Ko), sans dépendances, ne nécessite pas de savoir programmer en JavaScript, et n’impose pas d’architecture logicielle de type MVC.

En outre, toute application développée avec le toolkit Atlas est, dès son lancement, instantanément et automatiquement accessible de n’importe quel dispositif (smartphone, tablette…) équipé d’un navigateur web moderne connecté à Internet. Cet accès est facilité par un code QR qui s’affiche dans l’application.

Le toolkit Atlas a déjà fait l’objet de quelques publications ici même. Pour varier un peu les plaisirs durant ces longues soirées d’hiver de couvre-feu, voici la première partie d’un document qui devrait faciliter l’utilisation du toolkit Atlas. Il détaille le développement d’une application (très) basique de gestion de contacts, dont l’apparence est la suivante :

Apparence de l'application faisant l'objet du tutoriel 'Contacts'

Le toolkit Atlas est disponible pour Java, Node.js, Perl, Python et Ruby. C’est la version la plus populaire, à savoir Python, qui est utilisée pour ce document. Cependant, l’API étant la même pour toutes les versions, on peut facilement le transposer aux autres langages disponibles.

Pelican, un générateur de blog statique.

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
Étiquettes :
23
7
nov.
2010
Python
Pelican est un logiciel en Python sous licence AGPL qui permet de générer un blog de manière statique, de manière à pouvoir l'héberger facilement : pas besoin de langage de script côté serveur, les pages sont générées sur votre machine.

Il est possible d'utiliser les syntaxes markdown ou restructured text pour écrire vos articles, ainsi que l'éditeur de texte de votre choix. Le système est fait de manière à pouvoir accueillir simplement de nouvelles syntaxes.

Pelican supporte actuellement les articles, catégories, tags, commentaires (via disqus), l'export des articles vers PDF, les pages et la gestion des thèmes.

Première sortie publique de pyramid_formalchemy

Posté par  (site web personnel) . Modéré par baud123. Licence CC By‑SA.
Étiquettes :
23
24
fév.
2011
Python

pyramid_formalchemy est une extension de FormAlchemy permettant de générer une interface de type CRUD dans Pyramid en quelques lignes de code. Le première version est maintenant disponible au téléchargement. Un site de démonstration est disponible.

PyConFR 2018, du 4 au 7 octobre à Lille : programme et inscription

Posté par  . Édité par Davy Defaud. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
23
7
sept.
2018
Python

PyConFR 2018

La PyConFR, c’est le rassemblement annuel francophone des passionnés et curieux du langage Python et de son écosystème. Pour ceux qui ne connaissent pas la formule, les deux premiers jours (jeudi et vendredi) sont dédiés à des sprints (hackathons), et le week‐end sera rempli de conférences et/ou d’ateliers découverte.

Cette année, on vous présente fièrement notre programme (presque) complet ici : https://www.pycon.fr/2018/program/.

Tu as prévu de procrastiner sur un MOOC JavaScript ce week‐end‐là ? Viens plutôt à la PyConFR !

Au passage, il est encore possible de proposer des sprints (et uniquement des sprints) jusqu’au 15 septembre.

À bientôt.

Note : L’entrée est gratuite mais l’inscription est obligatoire.

Python — partie 2 ―Python 2

Posté par  (site web personnel) . Édité par Ysabeau 🧶 🧦, Davy Defaud, Benoît Sibaud et palm123. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
22
8
sept.
2019
Python

Pour cette rentrée 2019, faisons le point sur Python : actualité, bonnes pratiques, astuces, projets intéressants, témoignages…

Cette partie 2 traite de Python 2. 🐍 🐍 Oui, c’est la fin de la maintenance de Python 2. Joie pour certain, désolation pour d’autres…

Allez, on se raconte toutes nos anecdotes dans les commentaires.

Un barbu présente le logo de Python

Environnement moderne de travail Python

Posté par  . Édité par palm123, Pierre Jarillon, Ysabeau 🧶 🧦, Nils Ratusznik et ted. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
22
28
mai
2022
Python

Environnement moderne de travail Python

Si vous développez ou utilisez des programmes s’exécutant au-dessus de l’interpréteur Python, il peut arriver que vous vous retrouviez avec un environnement très dégradé sur votre poste de travail..

Je propose ici de découvrir un ensemble d’outils permettant de configurer des environnements Python qui vous éviteront de polluer votre système ou vos futurs environnements de développement. En effet, entre votre système Linux et les multiples projets de développement sur lequel vous travaillez vous avez souvent besoin d’interpréteur Python dans des versions différentes ou de librairies dans des versions particulières.

Dans ce guide, nous allons voir comment installer un environnement Python répondant aux cas d’usage suivants :

  • gestion facile de multiple versions de l’interpréteur Python ;
  • isolation d’applications CLI basées sur Python ;
  • création d’environnements de développement isolés les uns des autres.

Exécution de commandes en parallèle avec ClusterShell

Posté par  . Modéré par j.
Étiquettes :
22
25
sept.
2010
Python
ClusterShell est une bibliothèque événementielle en Python qui permet d'exécuter en parallèle des commandes en local et à distance sur des noeuds d'un cluster, ferme de serveurs, stations de travail... Elle fournit également un ensemble de scripts utilitaires basés dessus (voir plus bas).

ClusterShell est développée et utilisée au CEA par les équipes système de plusieurs grands clusters Linux de stockage et de calcul (qui comptent parmi les plus puissants du monde -- dont Tera100), elle est disponible sous licence CeCILL-C (CEA - CNRS - INRIA Logiciel Libre, compatible LGPLv2+).