2017-07-01 Python module with C functions
This a small module I created with C functions called from Python.
The documentation is here
cpyquickhelper
and the code
github/cpyquickhelper.
Enabling travis took me some time but I got it finally working.
2016-03-13 Ranking python modules
I was puzzled was a new badge on
matplotlib
about Depsy.
A link to dill on depsy,
a link on the same module on pypi-ranking:
dill.
I checked pythonnet.
The number of contributors is actually wrong and it is
difficult to see when the last contribution was made
which is one the first thing I look at before using a new module.
2014-09-09 How to get version and license for installed modules
I run into the package license-info.
It did not work as it is but after a couple of modifications, it gives:
sphinxjp.themes.revealjs==0.2.0 #MIT
tessera-client==0.4.1 #Apache
antlr4-python3-runtime==4.4.1 #BSD
basemap==1.0.8 #OSI Approved
cvxopt==1.1.6 #GNU GPL version 3
Cython==0.20.2 #Apache Software License
Flask==0.10.1 #BSD
numpy==1.8.1 #BSD
openpyxl==1.6.2 #MIT/Expat
pymc==2.3.3 #Academic Free License
pywin32==219 #PSA
pyzmq==14.3.0 #LGPL+BSD
selenium==2.42.1 #Apache Software License
Sphinx==1.2.2 #BSD
sphinxcontrib-fancybox==0.3.4 #BSD
spyder==2.3.0 #MIT
statsmodels==0.5.0 #BSD License
tables==3.1.1 #http://www.opensource.org/licenses/bsd-license.php
tornado==3.2.1 #http://www.apache.org/licenses/LICENSE-2.0
The code follows.
more...
2013-08-13 Add your module to pipy
The purpose is to upload your own module to pipy
and be able to install using:
pip install module_name
First you must have a login. You can do that by clicking on register
on pipy. Then type:
c:\python33\python setup.py sdist register upload
If you add any classifiers, they must be in the following
list.
Last detail, you are being asked to save your credentials, say yes,
otherwise it fails.
Pour ceux qui ont l'habitude d'utiliser Visual Studio pour
développer, il existe un plugin qui permet de développer en Python
avec Visual Studio : Python Tools for Visual Studio.
L'outil inclut un débuggeur. Il propose également de créer des projets
django pour
développer des applications Web.
Lorsqu'on développe avec Python, on fait régulièrement appel
à des modules externes qui nécessite une installation supplémentaire
(numpy, matplotlib, ...) Il exite des solutions qui regroupent en
une seule installation la plupart des modules couramment utilisés.
C'est le cas de Python XY
qui propose un environnement de travail qui ressemble à celui que
R propose. Une autre solution
est IPython. Il fait plus appel
au travail collaboratif. Il inclut une ligne de commande un peu plus
travaillée. La première release officielle est prévue pour juillet 2013.
J'ai écrit un
blog
il y a presqu'un mois à propos d'une classe permettant d'effectuer rapidement
des opérations sur une table, de faire des jointures, de regrouper
les données un peu à la manière du langage SQL. Je pensais ajouter à la classe
quelques notions de statistiques et des graphes mais je me suis aperçu
qu'il existe des modules qui ont l'air de faire ça très bien :
- pandas ou
Python Data Analysis Library, le module utilise
le module numpy, mais il autorise
l'utilisation de données textuelles. Il permet différentes opérations entre
tables telles que groupby, join, union.
L'auteur du module a pensé
à faire le pont avec R. Le module
a l'air assez bien pensé pour les séries temporelles, les données manquantes,
les dates, les lissages. Le module autorise la lecture d'une table depuis
une table sqlite (tables qu'on peut
regarder en utilisant
SQLiteSpy)
ou toute autre base de données accessibles via une connexion.
Un module permet de dessiner aisément des graphes via
matplotlib.
- Statsmodels, ce module utilise
le précédent. Il reprend différents traitements statistiques, principalement
linéaire, quelques tests statistiques. Cela dit, je ne vois pas trop
l'intérêt de tout réimplémenter. Je préférerais un pont bien conçu entre Python
et R dont je n'aime toujours pas la syntaxe
mais qui reste la référence. C'est plutôt la direction que je choisirais,
écrire en Python le code R dont je ne veux pas me souvenir.
2013-02-18 Références, livres, articles, modules
Quelques livres qu'on m'a conseillé récemment de lire sur tel ou tel
sujet ou quelques modules Python qui ont croisé ma route récemment.
Modules Python
- networkx : un module
permettant d'afficher des graphes avec Graphviz, il a l'air plus simple
que d'autres et ne nécessite pas l'installation préalable de
Graphviz. Le module
yapgvb ne semple plus
maintenu.
- Pillow : le module
PIL n'est plus maintenu,
Pillow serait son remplaçant.
Livres
- Algorithms on Strings, Trees and Sequences:
Computer Science and Computational Biology de Dan Gusfield,
je cherchais un livre qui pourrait me donner des idées à propos
de l'alignement entre deux graphes comme l'idée que j'ai developpée
ici
Graph matching and alignment.
- Random Graphs (Cambridge Studies in Advanced Mathematics) de
Bela Ballobas, des étudiants me posaient des questions sur la
génération de graphes aléatoires respectant certaines propriétés,
ce livre contient quelques réponses.
- Compilers: Principles, Techniques, and Tools (connu sous le
nom de Dragon book de
Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman,
c'est la bible pour qui veut écrire un compilateur.
- Joel on Software: And on Diverse and Occasionally
Related Matters That Will Prove of Interest to Software
Developers, Designers, and Managers, and to Those Who,
Whether by Good Fortune or Ill Luck, Work with Them
in Some Capacity
de
Joel Spolsky,
collections d'article autour de la programmation, C++ en particulier.
- exercices d'informatique :
conseillé par un collègue
- types and programming languages, de Benjamin Pierce
(site,
un bouquin sur le lambda calcul
- Learn You a Haskell For Great Good, de Miran Lipovaca,
livre sur le langage Haskell
- Purely functional data structures, de Chris Okasaki,
livre sur les structures de données et comment les manipuler en
langage fonctionnel (lazy interpretation)
(version pdf)
- Machine Learning in Action, de Peter Harrington,
contient un chapitre sur l'utilisation de Hadoop/Pig avec le
service AWS d'Amazon.