Journal Hermaia

15
15
avr.
2014

en bref : Hermaia est un projet (Python3/GPLv3) pour créer et consulter des listes de mots préalablement analysés du point de vue morphologique. Un exemple ici (si vous voyez n'importe quoi, pensez à utiliser l'unicode comme encodage).


Hermaia est un (très modeste) projet (Python3/GPLv3) permettant

  • de créer une liste de mots accompagnés de leur analyse morphologique. Exactement comme si l'on associait le mot "aimerai" à "aimer"+"futur.3S".
  • de rechercher un mot et de l'analyser. Ex : est-ce que le mot "aimerai" (...)

Forum Programmation.autre table SQL à optimiser

Posté par (page perso) . Licence CC by-sa
Tags :
0
14
avr.
2014

Je connais très peu les bases de données et j'aimerais savoir comment optimiser une table pour un projet Python3/sqlite3. Voici les contraintes :

  • 5 champs dont deux sur lesquels portent les recherches dans la base : "form"(text) et "searchfreq"(integer)
  • je n'ai pour le moment pas créé d'index unique
  • la base, une fois créée, s'enrichit à l'aide d'INSERT successifs; aucune autre opération n'est effectuée en écriture sur la base.
  • une fois la base créée, des recherches portant sur les champs "form" (...)

Journal La durée de vie de Python 2.7 encore repoussée

Posté par (page perso) . Licence CC by-sa
22
14
avr.
2014

Bonjour Journal,

Python 2.7 a encore de beaux jours devant lui.

Sur la mailing list, Guido van Rossum employé maintenant par Dropbox ( qui emploie aussi Condoleezza Rice ) vient d'annoncer que Python 2.7 serait maintenue au moins jusqu'à 2020.

Being the last of the 2.x series, 2.7 will have an extended period of
-maintenance. The current plan is to support it for at least 5 years
+maintenance. The current plan is to support it for at least 10
(...)

Python Inflectiones, déclinaisons et conjugaisons en grec ancien

Posté par (page perso) . É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 !

Journal Python 3.4 beta 1 est sortie

Posté par (page perso) . Licence CC by-sa
26
26
nov.
2013

La version 3.4 beta 1 de Python est sortie le 24 novembre 2013. Cette version marque le gel des nouvelles fonctionnalités de Python 3.4. Il est donc temps de vous faire saliver avec ce qui est à venir. Pas moins de 14 PEP ont été acceptées et implémentées et 7 nouveaux modules ont été ajoutés :

Journal HLevel, librairie pour comparer B.IX.2 < A.IV.3.a < A.III.2.c

Posté par (page perso) . Licence CC by-sa
11
14
oct.
2013

HLevel est une librairie (GPLv3, Python3) permettant de comparer des "niveaux hiérarchiques" tels qu'ils se trouvent dans les textes où plusieurs niveaux coexistent :

A) titre de la partie
A.1) sous-partie
A.1.a) sous-sous-partie
etc.

HLevel n'a pas été testée mais est fonctionnelle : dites-moi si ce projet vous intéresse !

Typiquement, HLevel permet de dire que A.1.a est "supérieur à" (="vient après") A.1 en faisant abstraction de la parenthèse fermante.

L'idée est de stocker l'information, d'une part sous la forme d'une (...)

Journal python-sql n'est pas un ORM

Posté par (page perso) . Licence CC by-sa
Tags :
20
14
sept.
2013

La version 0.1 de la librairie python-sql vient d'être publiée. python-sql est une librairie Python pour écrire des requêtes SQL de manière pythonique. Elle n'a pas la prétention d'être un ORM comme SQLAlchemy et de ce fait, elle ne cache pas le SQL bien au contraire elle propose une manière plus flexible d'écrire une requête qu'en manipulant des strings.
Par défaut, elle génère uniquement des requêtes SQL standard mais un système de Flavor permet d'adapter le résultat à un (...)

Journal Kit de démarrage Python

Posté par (page perso) . Licence CC by-sa
35
27
août
2013

Avec le temps, je me suis rendu compte que faire un projet Python bien propre n'était pas si facile que ça, il faut écrire les tests unitaires, utiliser gettext pour les traductions, avoir un fichier setup.py (équivalent de Makefile) pour l'installation ou la génération de paquets (setup.exe, .deb, .rpm, …), préparer la doc pour la générer facilement, utiliser pkg_resources au lieu d'accéder directement aux fichiers (pour les icônes, par exemple), etc.

Au final, ce boulot doit être refait à chaque (...)

Forum Programmation.python écrire la sortie d'un générateur

Posté par . Licence CC by-sa
3
30
juin
2013

Salut !

j'ai un générateur "gen" qui me génère des caractères (type str), je souhaite écrire ce qui est généré dans un fichier.
Je vois deux solutions évidentes pour ça :

# solution 1
for c in gen():
    f.write(c)

# solution 2
out = ''.join(gen())
f.write(out)

(merci de ne pas tenir compte du nom des variables :p)

avantage de la solution 1 : si le (...)

Journal RasPyPlayer v2.2.0 est sorti !

10
17
avr.
2013
Ce journal a été promu en dépêche : RasPyPlayer v2.2.0 est sorti !.

Il y a un peu plus d'un mois je vous annonçais la sortie de la version v2.0 de RasPyPlayer[1]… Une version mineure plus tard et quelques cassages de tête plus tard, j'ai le plaisir de vous présenter la nouvelle mouture du média center léger spécialement conçu pour le Raspberry Pi (mais pas que) !

Je n'ai pas annoncé ici la version 2.1.0 car je la considérais mineure dans le sens où elle n'était qu'une étape préliminaire à cette nouvelle version.

Alors

(...)

Journal Un petit script pour sauvegarder rapidement un fichier

Posté par (page perso) . Licence CC by-sa
5
23
mar.
2013

Quand je développe, il m'arrive régulièrement d'avoir sous la main des fichiers que je ne veux pas perdre dans l'immédiat, sans pour autant vouloir les ajouter dans mon logiciel de contrôle de versions. De même, il m'arrive de vouloir temporairement garder une image d'un fichier (avant de tester quelque chose, par exemple), sans pour autant vouloir créer un commit.

Bref, je souhaite pouvoir sauvegarder temporairement un fichier sans effort.

Pour répondre à ce besoin, j'ai créé le petit script suivant (...)

Forum Programmation.python Besoin d'avis sur algo Python

Posté par . Licence CC by-sa
Tags :
2
20
mar.
2013

J'écris beaucoup de petits programmes en Python mais le code produit n'est pas très propre / efficace. Par exemple, sur ce petit programme, j'aimerais avoir vos avis sur la manière de l'optimiser et de rendre le code plus propre.

#!/usr/bin/env python3
# rot13.py - ROT13 encoder/decoder written in Python.

from sys import argv
from os.path import basename

def rot13(txt):

    """Encoder / décoder la chaine txt."""

    A2Z = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    MAX = len(A2Z)
    MOY = MAX
(...)

Journal RasPyPlayer v2.0 est sorti !

Posté par . Licence CC by-sa
12
4
mar.
2013
Ce journal a été promu en dépêche : RasPyPlayer v2.0 est sorti !.

Quelques mois après la sortie de la version v1.1[1] j'ai le plaisir de vous annoncer la nouvelle mouture de RasPyPlayer !

Cette nouvelle version consiste en une ré-écriture complète pour mieux utiliser la méthodologie objet afin de faciliter la maintenance du code et les évolutions (et parce qu'on ne code que très rarement bien au premier essai). D'autres évolutions sont au menu : la gestion des sous-titres externes (les fameux fichiers .srt) et une fenêtre « Configuration » pour régler les paramètres (...)

Journal Exposer un ou des modules Python sur D-Bus [proof of concept]

41
2
mar.
2013

Sommaire

Réfléchissant au moyen d'utiliser un module python2 dans mon projet python3 (le module pyalsa en fait), m'est venue l'idée saugrenue de lister toutes les méthodes et des les exposer avec D-Bus, afin d'y avoir accès depuis Python 3, ou n'importe quoi qui cause avec D-Bus. Ce n'est certainement pas la solution que je vais (...)

Python pyxshell : piper des flux de texte en pur Python

Posté par (page perso) . Édité par Davy Defaud, Nÿco, Benoît Sibaud, Xavier Claude et Xavier Teyssier. Modéré par Xavier Claude. Licence CC by-sa
33
16
jan.
2013
Python

pyxshell (à prononcer comme vous pouvez) est un module Python qui permet d’enchaîner des fonctions de traitement de flux avec un opérateur « tube » — pipe, en anglais — (|) , de la même manière qu’avec un shell.

Si — comme moi — vous devez régulièrement analyser à la main des données textuelles diversement structurées sous différents environnements. Si vous affectionnez la ligne de commande sans raffoler de la syntaxe de Bash, vous apprécierez d’avoir tout sous la main à côté de vos outils Python favoris.

Par exemple :

>>> out=[]
>>> (random.randint(0,2) for i in range(10)) | map(lambda x: ["Oui ","nous sommes ","tous différents "][x]) | sort | uniq | tee(sys.stdout) > out
Oui tous différents nous sommes
>>> print(out)
['Oui ', 'tous différents ', 'nous sommes ']