Formatting code for Python


show source only

{{trail toc="Devel"}}
-----

====== Python ======

http://fr.wikipedia.org/wiki/Python_%28langage%29


===== Interfaces graphiques (toolkits) pour Python =====
==== Tk ====
http://wiki.python.org/moin/TkInter (""TkInter"" )

==== [[wxWidgets]] ====
http://www.wxpython.org (wxPython)

==== [[Qt]] ====
http://www.riverbankcomputing.co.uk/pyqt ""PyQt"" - licence GPL
http://www.pyside.org/ ""PySide"" - licence LGPL

==== Autres ====
http://pmw.sourceforge.net/ Pmw Megawidget
http://kivy.org/ Kivy - crossplatform framework for NUI (smartphone - tactile multipoint...)
http://code.enthought.com/projects/traits_gui/ ""TraitsGUI"" (deprecated)
https://github.com/enthought/traitsgui
http://code.enthought.com/projects/traits_ui/ ""TraitsUI""
https://github.com/enthought/traitsui
https://github.com/enthought/pyface pyface
http://docs.enthought.com/enaml/ Enaml

===== IDE =====
http://boa-constructor.sourceforge.net (wxPython)
http://www.die-offenbachs.de/detlev/eric3.html (""PyQT"")
http://wingware.com/wingide
http://www.python.org/idle

http://spe.pycs.net
http://pythoncard.sourceforge.net
http://webpages.charter.net/edreamleo/front.html

https://github.com/spyder-ide/spyder
http://pydev.org/
http://www.iep-project.org/ Interactive Editor for Python

http://www.jetbrains.com/pycharm/

http://dreampie.sourceforge.net/

https://github.com/yhat/rodeo/

http://www.pyzo.org/

=== GUI Designer for ""TkInter"" ===
http://starship.python.net/crew/mike/src/Spectix/Spectix.html
http://page.sourceforge.net
http://www.activestate.com/Products/Komodo

=== Vérification / Lint ===
permet de vérifier la syntaxe de l'ensemble d'un programme, son respect des standards de développement (PEP8...)
##pylint## http://www.pylint.org/
##pychecker## http://pychecker.sourceforge.net/
##pyflaskes## https://launchpad.net/pyflakes/
##flake8## https://flake8.readthedocs.org/
##pep8## http://pep8.readthedocs.org/
##mccabe## http://www.mccabe.com/
##pylama## https://github.com/klen/pylama

coala https://coala.io/

=== Code formatter ===
black https://github.com/ambv/black (inspiré de gofmt en [[Go]])
autopep8 https://github.com/hhatto/autopep8
yapf
https://yapf.now.sh/
https://github.com/google/yapf

=== Syntax upgrader ===
pyupgrade https://github.com/asottile/pyupgrade

===== Divers =====
http://www.afpy.org AFPY - Association Francophone PYthon

===== Conférences =====
http://fr.pycon.org
http://www.europython.eu/

===== News, Planet... =====
http://sametmax.com/planet-python-fr/
http://www.afpy.org/planet/

===== Doc / tutoriel =====
http://www.ulg.ac.be/cifen/inforef/swi/python.htm Apprendre à programmer avec Python Gérard Swinnen
http://frpython.sourceforge.net Projet de traduction française de la documentation de Python
http://ludovic.pinelli.free.fr/Python/PythonAmiHTML Python est mon ami Ludovic Pinelli
http://pydoc.org pydoc.org: Python Documentation Online
http://wikipython.flibuste.net Wiki Python Fr
http://docs.python.org Python Documentation
http://www.swaroopch.com/notes/Python_fr A byte of Python - traduction FR
http://docs.python.org/3/howto/ Python HOWTOs

http://docs.python-guide.org/en/latest/

Codecademy http://www.codecademy.com/
https://pythonprogramming.net/
https://snakify.org/ Snakify - Interactive Python 3 tutorial
https://github.com/satwikkansal/wtfpython - What the f*ck Python! - An interesting collection of surprising snippets and lesser-known Python features.

==== Tutoriels intéractifs ====
""CodeAcademy"" https://www.codecademy.com/fr/learn/python
""DataCamp"" https://www.datacamp.com/
Codingame https://www.codingame.com/
Code combat https://codecombat.com/

===== Livres =====
==== FR ====
Apprendre Python 3 - Gérard Swinnen
Apprenez à programmer en Python
http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-python

==== EN ====
Dive into Python
Beginning Python
Python in a nutshell
Writing Idiomatic Python https://www.jeffknupp.com/writing-idiomatic-python-ebook/
Invent With Python http://inventwithpython.com/ - Al Sweigart
Invent Your Own Computer Games with Python
Making Games with Python & Pygame
Learn Python the hard way http://learnpythonthehardway.org/

===== En vrac =====
Formatage de chaînes de caractères https://pyformat.info/

===== Python et calcul numérique =====
numarray (plus maintenu)
http://scipy.org ""SciPy"" et ""NumPy"" http://numpy.scipy.org/
Rem : connaître la version installée
##""$ python
>>> import numpy as np
>>> np.__version__
'x.y.z'
>>> np
<module 'numpy' from '.pyc'>""##

http://simpy.sourceforge.net ""SimPy"" (= Simulation in Python) - an object-oriented, process-based discrete-event simulation language for Python.
http://sympy.org/ SymPy - Python library for symbolic mathematics.
http://pandas.pydata.org/ pandas - Python Data Analysis Library (notion de ""DataFrame"" du langage [[R]])
Livre :
Python for Data Analysis - Data Wrangling with Pandas, NumPy, and IPython - Wes McKinney - O'Reilly Media
Learning Pandas - Michael Heydt - PacktPub April 2015

Cookbook https://github.com/jvns/pandas-cookbook
Tutorial https://bitbucket.org/hrojas/learn-pandas
https://github.com/yoavfreund/UCSD_BigData/blob/master/AWS_scripts/NotebookCollections.md

Pandas related packages
pandas_datareader https://github.com/pydata/pandas-datareader
pandas-ply https://github.com/coursera/pandas-ply functional data manipulation for pandas (voir dplyr en [[R]] - ou la notion de [[http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.pipe.html#pandas.DataFrame.pipe pipe]] à partir de Pandas 0.16)
Numpy / Pandas viewer / tabular data viewer
tabview https://github.com/TabViewer/gtabview
gtabview https://github.com/TabViewer/gtabview
pandas-qt https://github.com/datalyze-solutions/pandas-qt (ex pandas/sandbox/qtpandas.py)
visidata https://github.com/saulpw/visidata

"Beyond" Pandas
xarray http://xarray.pydata.org/

Patsy
http://patsy.readthedocs.org/
Describe statistical models (especially linear models, or models that have a linear component) and build design matrices. It is closely inspired by and compatible with the formula mini-language used in R and S.
http://cran.r-project.org/doc/manuals/R-intro.html#Formulae-for-statistical-models

Numba
http://numba.pydata.org/
Cython http://www.cython.org/
Pyston
https://github.com/dropbox/pyston
https://blog.pyston.org/
Pythran https://github.com/serge-sans-paille/pythran
Parakeet http://parakeetpython.com/

Blaze
http://blaze.pydata.org/
http://nbviewer.ipython.org/url/blaze.pydata.org/notebooks/timings-csv.ipynb
http://nbviewer.ipython.org/url/blaze.pydata.org/notebooks/timings-bcolz.ipynb
http://chdoig.github.io/scipy2015-blaze-bokeh/
odo
http://odo.readthedocs.org/
datatable
https://github.com/h2oai/datatable
modin - Speed up your Pandas workflows by changing a single line of code
https://modin.readthedocs.io/en/latest/
xarray (formerly xray) N-D labeled arrays and datasets in Python
http://xray.readthedocs.org/
https://github.com/xray/xray
bcolz / blosc https://github.com/Blosc/bcolz columnar and compressed data containers
http://bcolz.blosc.org/
http://blosc.org/
Ibis - Python data analysis framework for Hadoop and SQL engines
https://github.com/cloudera/ibis
monary (MongoDB / Python + NumPy)
https://github.com/ksuarz/mongo-monary-driver
dataset - databases for lazy people
https://dataset.readthedocs.org/

DynND - C""++"" library for dynamic, multidimensional arrays - inspired by NumPy
http://libdynd.org/

Packages pour Mac OS X
http://fonnesbeck.github.com/ScipySuperpack/

Distribution Python orientée calcul numérique
Enthought (EPDFree / EPD Full / EPD Academic) http://www.enthought.com/
##$ enpkg <package name>##
##/Library/Frameworks/Python.framework/Versions/x.y/bin/python##
Enthought Canopy https://www.enthought.com/products/canopy/
Anaconda CE / Pro - Continuum Analytics http://continuum.io/
Conda user cheat sheet
http://conda.pydata.org/docs/_downloads/conda-cheatsheet.pdf
Pythonxy http://code.google.com/p/pythonxy/
Pyzo http://www.pyzo.org/

http://python-for-researchers.readthedocs.org/en/latest/distros.html

IPython notebook http://ipython.org/
Python intéractif / notebook
##$ ipython notebook##

Activer le mode inline de matplotlib
##%matplotlib inline##

Tutoriel http://ipython.org/ipython-doc/stable/interactive/tutorial.html
##In [1]: %paste## pour coller du code
Complétion
##debut_nom_obj<TAB>##
Explorer objet
##nom_objet?##

Jupyter (ex IPython notebook)
http://jupyter.org/
https://jupyterhub.readthedocs.io/
##$ ipython notebook --pylab inline ## (local)
##$ ipython notebook --no-browser --port=YYYY --ip='*' --pylab inline --profile nbserver## (remote)
http://ipython.org/ipython-doc/dev/interactive/public_server.html#notebook-security
mybinder https://mybinder.org/ Turn a Git repo into a collection of interactive notebooks
voila https://voila-gallery.org/
Ref: https://linuxfr.org/users/aboulle/journaux/creer-une-application-web-avec-jupyter-ipywidgets-et-voila
nbgrader
https://nbgrader.readthedocs.io/
https://github.com/jupyter/nbgrader

""JupyterLab"" https://github.com/jupyterlab/jupyterlab

Extensions: (table of contents...)
https://github.com/ipython-contrib/jupyter_contrib_nbextensions

Livres sur IPython : http://ipython-books.github.io/
Learning IPython for Interactive Computing and Data Visualization
http://ipython.rossant.net/
https://github.com/rossant/ipython-minibook
IPython Interactive Computing and Visualization Cookbook
IPython Notebook Essentials - L. Felipe Martins

Examples:
nbviewer http://nbviewer.ipython.org/
https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks

Autres notebooks
nteract https://nteract.io/ (basé sur Atom, fonctionne avec [[Python]], [[Julia]]...

Beaker / BeakerX (2sigma)
http://beakernotebook.com/
http://beakerx.com/
https://github.com/twosigma/beakerx

Plot
Matplotlib
http://matplotlib.org/

amélioration graphique
http://olgabot.github.io/prettyplotlib/

D3JS
http://nbviewer.ipython.org/4484816/ipyD3sample.ipynb
Highcharts
http://nbviewer.ipython.org/5686342

""PyQwt""
http://pyqwt.sourceforge.net/

""guiqwt""
http://pythonhosted.org/guiqwt/

""PyQtGraph""
http://pyqtgraph.org/

Glumpy (Numpy + OpenGL)
http://glumpy.github.io/

plotly
https://plot.ly/
https://github.com/plotly/
Dash (Python framework for building analytical web applications - build on top of Plotly.js, React, and Flask)
https://plot.ly/products/dash/
https://github.com/plotly/dash

pygal
http://pygal.org/

ggplot (inspired from [[R]] - ggplot2 - Grammar of graphics)
https://github.com/yhat/ggplot
http://blog.yhathq.com/posts/ggplot-for-python.html
ggplot2 (R) https://github.com/hadley/ggplot2
http://ggplot2.org/

plotnine (Grammar of graphics)
https://plotnine.readthedocs.io/
https://github.com/has2k1/plotnine

Bokeh
http://bokeh.pydata.org/
Datashader - a graphics pipeline system for creating meaningful representations of large amounts of data
https://github.com/bokeh/datashader
Bokeh + Flask + Heroku
http://blog.thedataincubator.com/2015/09/painlessly-deploying-data-apps-with-bokeh-flask-and-heroku/
https://github.com/thedataincubator/flask-demo

Moksha Project
http://mokshaproject.net/

d3py
https://github.com/mikedewar/d3py

vispy (ex galry)
http://vispy.org/
https://github.com/vispy/vispy
(ex https://github.com/rossant/galry )

MPLD3 (Bringing Matplotlib to the Browser)
http://mpld3.github.io/

Holoviews http://holoviews.org/

Vega / grammar of graphics
Vincent (Python to Vega) http://vincent.readthedocs.org/
Vega http://trifacta.github.io/vega/
Altair
https://altair-viz.github.io/
https://github.com/ellisonbg/altair

seaborn
http://web.stanford.edu/~mwaskom/software/seaborn/
Style / palette prettyplotlib
%%(python)
import seaborn as sns
sns.set(style='ticks', palette='Set2')
%%

mpld3 (matplotlib + d3js)
http://mpld3.github.io/

nvd3
https://github.com/areski/python-nvd3

glueviz - Python library to explore relationships within and among related datasets
http://www.glueviz.org/

bqplot - Plotting library for IPython/Jupyter Notebooks
https://github.com/bloomberg/bqplot

gr-framework
http://gr-framework.org/

lightning-viz
http://lightning-viz.org/
http://lightning-viz.org/clients/#python
https://github.com/lightning-viz/lightning-python
http://lightning-viz.org/visualizations/streaming/ (streaming visualization)

Livres:
Python High Performance Programming - Gabriele Lanaro (Packt Publishing)

==== Articles ====
Utilisation scientifique de Python
http://ftp.traduc.org/doc-vf/gazette-linux/html/2005/114/lg114-A.html Visualisation de données
http://ftp.traduc.org/doc-vf/gazette-linux/html/2005/115/lg115-A.html Analyse de données
Python scientifique - ENS Paris - Supports de cours de la formation à Python scientifique de l’ENS Paris pour les professeurs de classes préparatoires scientifiques.
http://python-prepa.github.io/index.html
Python Scientific Lecture Notes
http://scipy-lectures.github.com/index.html
Scipy : le calcul numérique haut-niveau
http://dakarlug.org/pat/scientifique/html/scipy.html
Initiation au traitement d'image avec ""NumPy""
http://francoislouislaillier.developpez.com/Python/Tutoriel/InitiationNumpy/Tuto1/
Matplotlib http://matplotlib.sourceforge.net
Pylab / Pyplot : interface à la MATLAB
%%(python)
from pylab import *
x = arange(0,7,0.01)
y = sin(x)
plot(x,y)
show()
%%

Colormap
%%(python)
import numpy as np
import matplotlib
from matplotlib import pyplot as plt


a = np.outer(np.arange(0, 1, 0.01), np.ones(10))
cmap = matplotlib.cm.get_cmap("gray")
plt.imshow(a,aspect='auto', cmap=cmap)
plt.show()

%%

Tutoriel :
http://www.loria.fr/~rougier/teaching/matplotlib/

""NumFOCUS"" fondation
http://numfocus.org/

pygooglechart (Python Google Chart)
http://pygooglechart.slowchop.com/

Chaco http://code.enthought.com/projects/chaco/
""MayaVi"" (3D) https://svn.enthought.com/enthought/wiki/MayaVi

""EuroSciPy"" (conférence des utilisateurs de Python pour appli scientifiques
http://www.euroscipy.org/

Lectures on scientific computing with Python - Robert Johansson
http://jrjohansson.github.io/

===== Python, RS232, Parallèle, GPIB... =====
http://pyserial.sourceforge.net
http://pyvisa.sourceforge.net

===== Python et le réseau =====
socket, ...
http://ilab.cs.byu.edu/python/
http://www.tutorialspoint.com/python/python_networking.htm

Twisted http://twistedmatrix.com/trac/
Tornado http://www.tornadoweb.org/

voir aussi lib ProgrammationReseau

JSON-RPC
XML-RPC
voir RemoteProcedureCall

Scapy - interactive packet manipulation program
http://www.secdev.org/projects/scapy/

===== Construction / Distribution de package =====
Python Eggs ##.egg## http://peak.telecommunity.com/DevCenter/PythonEggs
Distutils http://docs.python.org/distutils/
setuptools http://peak.telecommunity.com/DevCenter/setuptools
##$ sudo easy_install ...##
distribute http://pypi.python.org/pypi/distribute ""PyPI""
Pip http://www.pip-installer.org/
##$ python -m pip install ...##

##$ sudo pip install ...##

Pip / conda package privé
Binstar https://binstar.org/

Creation d'un projet - kit de démarrage - project template
python-package-boilerplate https://github.com/mtchavez/python-package-boilerplate
""StarterPyth"" https://github.com/d9pouces/StarterPyth
##$ sudo pip install starterpyth##
""CookieCutter"" http://cookiecutter.readthedocs.org/en/latest/
##$ sudo pip install cookiecutter##

buildout
http://www.buildout.org/

===== [[Lib Bibliothèques]] diverses / libs =====
PyPi Python Package Index http://pypi.python.org/pypi

http://fr.wikibooks.org/wiki/Biblioth%C3%A8ques_pour_Python
http://cheeseshop.python.org/pypi?%3Aaction=index
http://www.vex.net/parnassus

https://github.com/vinta/awesome-python
http://sametmax.com/tres-grand-listing-des-libs-standard-partie-les-plus-utiles-en-python/
http://sametmax.com/tres-grand-listing-des-libs-tierce-partie-les-plus-utiles-en-python/

https://github.com/svaksha/pythonidae Curated decibans of scientific programming resources in Python

Arithmétique multiprécision
mpmath http://mpmath.org/

Argument parser (Command Line Interface)
http://docs.python-guide.org/en/latest/scenarios/cli/

optparse http://docs.python.org/2/library/optparse.html
argparse http://docs.python.org/dev/library/argparse.html
docopt http://docopt.org/
clize https://pypi.python.org/pypi/clize/
argh https://pythonhosted.org/argh/
click http://click.pocoo.org/
begins http://begins.readthedocs.org/en/latest/

Benchmarking
timeit https://docs.python.org/3/library/timeit.html
nose-timer https://github.com/patjenk/nose-timer
vbench http://pydata.github.io/vbench/
airspeed velocity (asv) https://github.com/spacetelescope/asv

Binaire
Struct https://docs.python.org/2/library/struct.html
Construct http://construct.readthedocs.org/
Numpy fromfile
bitstring http://scott-griffiths.github.io/bitstring/
Kaitai Struct http://kaitai.io/ A new way to develop parsers for binary structures.

Console User Interface
curses / ncurses
http://docs.python.org/2/library/curses.html
pycdk
http://pycdk.sourceforge.net/
wrapper CDK http://invisible-island.net/cdk/cdk.html
urwid
http://urwid.org/

npyscreen
http://www.npcole.com/npyscreen/

Console / ASCII Plotter
aplotter http://www.algorithm.co.il/blogs/ascii-plotter/
bashplotlib https://github.com/glamp/bashplotlib

Progress bar / progress meter
tqdm https://github.com/noamraph/tqdm
progress https://github.com/verigak/progress/
python-progressbar https://code.google.com/p/python-progressbar/

Console Terminal
telnet
telnetlib https://docs.python.org/2/library/telnetlib.html

SSH
paramiko http://pypi.python.org/pypi/paramiko/
Fabric http://www.fabfile.org/
Twisted Conch http://twistedmatrix.com/trac/wiki/TwistedConch

Automatisation
pexpect - A Python module for controlling interactive programs in a pseudo-terminal
https://pexpect.readthedocs.io/
https://github.com/pexpect/pexpect

Data stream
Streamz
https://streamz.readthedocs.io/
https://github.com/mrocklin/streamz
http://matthewrocklin.com/blog/work/2017/10/16/streaming-dataframes-1
tributary
https://github.com/timkpaine/tributary

Dynamic report
notedown https://pypi.python.org/pypi/notedown (inspiré par [[R]] markdown)
knitr http://yihui.name/knitr/
knitpy https://github.com/janschulz/knitpy/
stitch https://github.com/pystitch/stitch

Interactive HTML for data science
spyre https://github.com/adamhajari/spyre

Natural Language Processing (NLP)
NLTK http://nltk.org/
""spaCy"" https://spacy.io/
Livre : Natural Language Processing with Python
http://www.amazon.com/Natural-Language-Processing-Python-Steven/dp/0596516495/ref=pd_sim_b_34
voir [[IA]]

ContentManagementSystem
Plone http://plone.org

Couleurs
Matplotlib Color http://matplotlib.org/api/colors_api.html
PIL / Pillow ImageColor http://pillow.readthedocs.org/en/3.0.x/reference/ImageColor.html
colorsys https://docs.python.org/2/library/colorsys.html
Chroma
https://chroma.readthedocs.org/
https://github.com/seenaburns/Chroma
colormath
https://github.com/gtaylor/python-colormath
colour
https://github.com/vaab/colour
colour-science
http://colour-science.org/
https://github.com/colour-science/colour
colorspacious
http://colorspacious.readthedocs.org/
viscm
https://github.com/matplotlib/viscm
colorcet
https://github.com/bokeh/colorcet

Crypto / secret
getpass
https://docs.python.org/2/library/getpass.html
pycrypto
https://www.dlitz.net/software/pycrypto/
Vault
https://www.vaultproject.io/
https://github.com/ianunruh/hvac Python 2/3 client for HashiCorp Vault
pyNaCl - https://nacl.cr.yp.to/
https://pynacl.readthedocs.io/
https://github.com/pyca/pynacl

Decorator
functools.wraps https://docs.python.org/2/library/functools.html
wrapt http://wrapt.readthedocs.org/

Documentation de code / documentation generator
http://wiki.python.org/moin/DocumentationTools

pydoc
http://docs.python.org/library/pydoc.html
sphinx
http://sphinx.pocoo.org/
epydoc
http://epydoc.sourceforge.net/

Utilisation des docstrings
exemple : http://www.labasland.net/documentation_et_tests_avec_python
module.__doc__

pyreverse Génération de diagrammes UML à partir du code
http://www.logilab.org/blogentry/6883

slate
API documentation using Markdown syntax
https://github.com/lord/slate

Energie
pvlib - A set of documented functions for simulating the performance of photovoltaic energy systems
https://github.com/pvlib/pvlib-python

[[Excel]]
python-excel http://www.python-excel.org
xlsxwriter
Intégration scripts Python dans Excel
PyXLL https://www.pyxll.com/
xlwings http://xlwings.org/

LibreOffice
""PyOO"" - Pythonic interface to Apache OpenOffice API (UNO)
https://github.com/seznam/pyoo

Fichiers / chemins
os.path
path.py https://github.com/jaraco/path.py

Gestion de process / daemon
supervisord http://supervisord.org/
circus http://circus.readthedocs.org/en/latest/

Regular expressions / regex / regexp
https://docs.python.org/2/library/re.html
https://docs.python.org/2/howto/regex.html

Test regex
http://pythex.org/
https://regex101.com/

Livres
Mastering Python Regular Expressions - Lopez, Felix, Romero, Victor
Mastering Regular Expressions – August 15, 2006 - Jeffrey E. F. Friedl

Test automation / Behavior-driven development
https://github.com/atinfo/awesome-test-automation/blob/master/python-test-automation.md

Tests unitaires
unittest http://docs.python.org/library/unittest.html
Présentation
http://feldboris.alwaysdata.net/blog/pages/presentations/PythonTest/#slide2
unittest2
doctest http://docs.python.org/library/doctest.html
principe:

%%(python)
def ajouter(a, b):
""" Additionne deux elements.

Exemple :

>>> ajouter(1, 2)
3
"""
return(a+b)

if __name__ == "__main__":
import doctest
doctest.testmod()
%%

attest http://pythonhosted.org/Attest/
nose http://nose.readthedocs.org/
nose2 http://nose2.readthedocs.org/en/latest/
pytest http://pytest.org/
mock https://pypi.python.org/pypi/mock

Livres:
Test-Driven Web Development with Python - Harry Percival
(Fewer Bugs and Less Stress with Selenium, Django, and JavaScript)

BDD behavior-driven development
https://www.merixstudio.com/blog/introduction-methodology-behavior-driven-development/
https://www.merixstudio.com/blog/behavior-driven-development-python/
pytest https://github.com/pytest-dev/pytest-bdd

Code coverage / couverture de code
coverage https://coverage.readthedocs.io/

Iterateurs
itertools https://docs.python.org/3/library/itertools.html
toolz https://toolz.readthedocs.org

[[IntegrationContinue Intégration continue]]
buildbot http://buildbot.net/

Tests packaging
Tox http://testrun.org/tox/latest/

Eléments finis - Finite elements
FiPy http://www.ctcms.nist.gov/fipy/
SfePy http://sfepy.org/
FEniCS http://fenicsproject.org/

Machine learning (Classification, regression, clustering, dimensionality reduction, model selection, preprocessing)
scikit-learn http://scikit-learn.org/
""StatsModels"" http://statsmodels.sourceforge.net/ Statistics in Python
neurolab https://code.google.com/p/neurolab/
pybrain http://pybrain.org/ Python-Based Reinforcement Learning, Artificial Intelligence and Neural Network Library
mlpy http://mlpy.sourceforge.net/
bpnn.py http://arctrix.com/nas/python/bpnn.py Back-Propagation Neural
[[LINQ]]
asq Python package for specifying and performing efficient queries over collections of Python objects using a fluent interface (inspired by LINQ)
http://asq.readthedocs.io/
https://github.com/sixty-north/asq/
py-enumerable / py-linq https://github.com/viralogic/py-enumerable
pythonql https://github.com/pythonql/pythonql

Networks
pystruct https://github.com/pystruct/pystruct
""PyMC"" http://pymc-devs.github.io/pymc/ Bayesian Stochastic Modelling / MCMC Markov Chain Monte Carlo
HDDM https://github.com/hddm-devs/hddm Hierarchical Bayesian parameter estimation of Drift Diffusion Models (via PyMC)
https://github.com/rerpy/rerpy ERP/ERF analysis of brainwave data (EEG, MEG)
SKLL SciKit-Learn Laboratory http://scikit-learn-laboratory.readthedocs.org/
TensorFlow (Google) http://www.tensorflow.org/
Keras http://keras.io/ Deep Learning library for Theano and TensorFlow
https://www.microway.com/hpc-tech-tips/keras-theano-deep-learning-frameworks/
xgboost Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, C""++"" and more
https://github.com/dmlc/xgboost
pandas-ml https://github.com/pandas-ml/pandas-ml
Chainer A flexible framework of neural networks for deep learning
https://chainer.org/
https://github.com/pfnet/chainer
Theano http://deeplearning.net/software/theano/
https://github.com/LowinData/pyautodiff
Lasagne https://lasagne.readthedocs.io/ lightweight library to build and train neural networks in Theano
Deepy https://github.com/zomux/deepy
Caffe http://caffe.berkeleyvision.org/
pytorch http://pytorch.org/

[[Messaging]] AMQP (Advanced Message Queuing Protocol) - voir ProgrammationReseau
pika https://pypi.python.org/pypi/pika
py-amqplib http://barryp.org/software/py-amqplib/
kombu - messaging library supportant divers broker (RabbitMQ, Redis, ...)
http://kombu.readthedocs.org/en/latest/
https://pypi.python.org/pypi/kombu

ZeroMQ / ZMQ / 0MQ http://www.zeromq.org/
ActiveMQ
RabbitMQ
snakeMQ http://www.snakemq.net/

MQTT
paho https://www.eclipse.org/paho/clients/python/ (anciennement mosquitto)
hbmqtt https://github.com/beerfactory/hbmqtt

Meteorological / oceanographic /
https://github.com/SciTools/iris analysing and visualising meteorological and oceanographic data sets
http://scitools.org.uk/cartopy/ cartographic tools for python

Jobs / Tasks / Queues / gestion de tâches / cloud / cluster
Celery http://celeryproject.org/
RQ http://python-rq.org/
pyres https://github.com/binarydud/pyres a Resque clone
taskmaster https://github.com/dcramer/taskmaster
StarCluster http://star.mit.edu/cluster/ cluster-computing toolkit for Amazon’s Elastic Compute Cloud (EC2)
jug https://jug.readthedocs.org/ A Task-Based Parallelization Framework
joblib https://pythonhosted.org/joblib/
http://www.admin-magazine.com/HPC/Articles/Parallel-Python-with-Joblib


""MapReduce"" (calcul parallèle)
https://fr.wikipedia.org/wiki/MapReduce

""MrJob"" http://pythonhosted.org/mrjob/
Disco http://discoproject.org/
dumbo http://klbostee.github.io/dumbo/
hadoopy http://www.hadoopy.com/
luigi https://github.com/spotify/luigi

voir aussi: Apache Storm
streamparse https://github.com/Parsely/streamparse

Manipulation d'images (voir aussi LibImages ) / Image processing / ComputerVision / Computer vision / VisionIndustrielle

Python Imaging Library (PIL) http://www.pythonware.com/products/pil/index.htm
ImageMagick Python wrappers
http://www.imagemagick.org/script/api.php#python
""PythonMagicWand""
""PythonMagick""
Pillow (PIL friendly fork) https://pillow.readthedocs.org/
Willow http://willow.readthedocs.io/en/latest/
Wand http://docs.wand-py.org/

Metadata / Métadonnées (Exif : Exchangeable image file format)
PIL
pyexiv2 http://tilloy.net/dev/pyexiv2/
exif-py http://sourceforge.net/projects/exif-py/
pyexif http://pyexif.sourceforge.net/ (voir exif-py)

scikit-image http://scikit-image.org/

mahotas http://mahotas.readthedocs.org/

SimpleCV http://www.simplecv.org/

Optimisation / hyper parameter tuning
CVXOPT (Convex optimization) http://cvxopt.org/
Scipy optimize
##scipy.optimize.brute##
""PuLP"" https://pythonhosted.org/PuLP/
Gurobi http://www.gurobi.com/
pypet - python parameter exploration toolkit / explore parameter space / save data to HDF5
https://pypet.readthedocs.io/
https://github.com/SmokinCaterpillar/pypet/
ray - A fast and simple framework for building and running distributed applications
https://github.com/ray-project/ray
Tune https://ray.readthedocs.io/en/latest/tune.html
RLlib https://ray.readthedocs.io/en/latest/rllib.html
...

Projection géographique
pyproj https://github.com/jswhit/pyproj
utm https://github.com/Turbo87/utm
mpl_toolkits http://matplotlib.org/1.3.0/mpl_toolkits/index.html

Programmation logique (à la [[Prolog]])
PyKE (Python Knowledge Engine) http://pyke.sourceforge.net/

Génération de fichiers [[PDF]] / [[Reporting]]
""ReportLab"" http://www.reportlab.org
pyfpdf https://github.com/reingart/pyfpdf
""PyPDF2"" https://github.com/mstamy2/PyPDF2
""PyMuPDF"" (pitz) https://pymupdf.readthedocs.io/en/latest/
Geraldo Reports http://www.geraldoreports.org/
""PollyReports"" https://pythonhosted.org/PollyReports/tutorial.html

Jeux video
Pygame http://www.pygame.org/
Cocos2d http://cocos2d.org/
pyglet http://www.pyglet.org/

[[Logging]]
stdlib logging
http://docs.python.org/lib/module-logging.html
http://www.mechanicalcat.net/richard/log/Python/Simple_usage_of_Python_s_logging_module
Logbook
https://logbook.readthedocs.io/
Twiggy
https://twiggy.readthedocs.org/
Eliot
https://eliot.readthedocs.org/
devpy
https://github.com/sametmax/devpy
http://sametmax.com/devpy-outils-de-dev-a-larrache/

Envoi de mails
""SMTPLib""
http://www.eskimo.com/~jet/python/examples/mail/smtp1.html

Plugins
https://yapsy.readthedocs.org/

Requêtes HTTP
urllib / urllib2
http://docs.python.org/2/library/urllib.html
http://docs.python.org/2/library/urllib2.html
requests http://requests.readthedocs.org/
doc en français http://fr.python-requests.org/en/latest/
httplib http://docs.python.org/2/library/httplib.html
Cache
requests_cache https://requests-cache.readthedocs.org/ (mise en cache SQLite, MongoDB...)
httpcache https://github.com/Lukasa/httpcache
cachecontrol
http://cachecontrol.readthedocs.org/en/latest/
https://github.com/ionrock/cachecontrol
Asynchronous requests
https://github.com/tardyp/txrequests

Gestion d'évènements / signal / slot / event pattern / publish-subscribe / dispatch module / observer pattern / message / messaging / dispatching
http://stackoverflow.com/questions/1092531/event-system-in-python
pydispatcher http://pydispatcher.sourceforge.net/
zope.event https://pypi.python.org/pypi/zope.event
django dispatch / signals
https://github.com/django/django/tree/master/django/dispatch/
https://docs.djangoproject.com/en/dev/topics/signals/
https://github.com/olivierverdier/dispatch
py-notify http://home.gna.org/py-notify/
axel https://pypi.python.org/pypi/axel
""PyPubSub"" http://pubsub.sourceforge.net/
Trellis http://peak.telecommunity.com/DevCenter/Trellis
Qt signal / slot
smokesignal https://github.com/shaunduncan/smokesignal
circuits https://github.com/circuits/circuits
blinker https://pythonhosted.org/blinker/
signalslot https://github.com/Numergy/signalslot
...

Ref: http://stackoverflow.com/questions/115844/recommended-python-publish-subscribe-dispatch-module

Linear programming / Mixed Integer Linear Programming (MILP) solver
""PyMathProg"" http://pymprog.sourceforge.net/
PyGLPK http://tfinley.net/software/pyglpk/
lpsolve http://lpsolve.sourceforge.net/5.5/Python.htm

MP3 - tag ID3
""EyeD3"" http://eyed3.nicfit.net/
songdetails https://github.com/Ciantic/songdetails
pyid3lib http://pyid3lib.sourceforge.net/
mutagen https://code.google.com/p/mutagen/

Parser (voir [[Compilation]])
http://wiki.python.org/moin/LanguageParsing
PLY
Yapps
pyparsing http://pyparsing.wikispaces.com/
pyclibrary http://pyclibrary.readthedocs.io/ C parser and ctypes automation for python

Programmation asynchrone / parallélisme / programmation concurrente
SCOOP https://code.google.com/p/scoop/ (Scalable COncurrent Operations in Python)
Twisted http://twistedmatrix.com/
asyncore http://docs.python.org/2/library/asyncore.html
stackless http://www.stackless.com/ (stackless.tasklet)
eventlet http://eventlet.net/
gevent http://gevent.org/
greenlet http://greenlet.readthedocs.org/
asyncio / Tulip
http://www.python.org/dev/peps/pep-3156/
http://code.google.com/p/tulip/
trio
https://trio.readthedocs.io/
trolius - Port of the Tulip project (asyncio module, PEP 3156) on Python 2
https://code.google.com/p/tulip/
curio
https://curio.readthedocs.io
https://github.com/dabeaz/curio
multiprocessing https://docs.python.org/2/library/multiprocessing.html
billiard https://github.com/celery/billiard Multiprocessing Pool Extensions

Programmation asynchrone vs prog parallèle vs prog concurrente / En attendant asyncio
http://sametmax.com/la-difference-entre-la-programmation-asynchrone-parallele-et-concurrente/
http://sametmax.com/en-attendant-asyncio/

Dask http://dask.pydata.org/
Dask enables parallel computing through task scheduling and blocked algorithms.

pykka - a Python implementation of the actor model
https://www.pykka.org/

Solveurs
[[ProgrammationParContraintes Programmation par contraintes]] / CSP solver
python-constraint http://labix.org/python-constraint
Numberjack http://numberjack.ucc.ie/
logilab-constraint http://www.logilab.org/project/logilab-constraint

SAT solver / SATISFIABILITY
pycosat https://pypi.python.org/pypi/pycosat
python-constraint https://github.com/python-constraint/python-constraint

SMT (Satisfiability modulo theories)

Requêtes HTTP
urllib / urllib2
requests http://requests.readthedocs.org/

Scheduler / crontab like / tâches récurrentes
APScheduler http://pythonhosted.org/APScheduler/
Celery (+ Redis) http://sametmax.com/files-de-taches-et-taches-recurrentes-avec-celery/
RQ (Redis Queue) Easy job queue http://python-rq.org/

Structures de données
collections (deque, dict, ordered dict...) https://docs.python.org/2/library/collections.html
Lazy dictionary http://thatmattbone.com/delaying-computation-lazy-dictionaries-in-python.html
Bunch https://github.com/dsc/bunch (dictionnaire à la Javascript... mi dict mi objet)

HTML Parser / XML Parser
""HTMLParser"" http://docs.python.org/library/htmlparser.html
""BeautifulSoup"" http://www.crummy.com/software/BeautifulSoup/
##$ easy_install beautifulsoup##
API DOM / SAX / ""ElementTree""
lxml http://lxml.de/
xml.etree
http://docs.python.org/2/library/xml.etree.elementtree.html

Temps / date / heure
datetime / timedelta http://docs.python.org/2/library/datetime.html
dateutils http://labix.org/python-dateutil
delorean http://delorean.readthedocs.org/
arrow http://arrow.readthedocs.io/

Time series
pandas http://pandas.pydata.org/pandas-docs/stable/timeseries.html
pyflux https://github.com/RJT1990/pyflux GARCH, ARIMA, ...
prophet https://github.com/facebookincubator/prophet
https://github.com/MaxBenChrist/awesome_time_series_in_python

Web server / Web Server Gateway Interface WSGI
gunicorn http://gunicorn.org/ Gunicorn 'Green Unicorn' - a Python WSGI HTTP Server for UNIX.
Werkzeug http://werkzeug.pocoo.org/ WSGI utility library for Python

Web framework
http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks
Django
http://www.djangoproject.com
http://www.django-fr.org
http://www.djangobook.com
http://www.djangosnippets.org
http://code.google.com/p/deseb/ Migrer d'un schéma vers un autre
Google App Engine http://code.google.com/appengine
""Turbogears"" http://www.turbogears.org
""CherryPy"" http://www.cherrypy.org/
Flask http://flask.pocoo.org/
livre: Flask Web Development - Miguel Grinberg http://flaskbook.com/
Zope http://www.zope.org
Pylons / Pyramid
http://pylonshq.com
http://www.pylonsproject.org/
web.py http://webpy.org
web2py http://www.web2py.com/

http://bottlepy.org/ Bottle: Python Web Framework (avec micro serveur HTTP compatible WSGI Web Server Gateway Interface)
http://pythonpaste.org/ Python Paste

Websocket / WAMP / web application messaging protocol
http://autobahn.ws/
http://wamp.ws/implementations/
voir aussi JavaScript
crossbar http://crossbar.io/

WebSocket emulation - Javascript client https://github.com/sockjs/sockjs-client

Webalchemy https://github.com/skariel/webalchemy
aiohttp https://github.com/KeepSafe/aiohttp

Tabular data / CSV comma separated values
csv https://docs.python.org/3/library/csv.html
messytables http://messytables.readthedocs.org/
goodtables http://goodtables.readthedocs.org/
tabulator-py https://github.com/okfn/tabulator-py

Templates / Python templating engines http://wiki.python.org/moin/Templating
webware http://www.webwareforpython.org/
tempita http://pythonpaste.org/tempita/
cheetah http://www.cheetahtemplate.org/
jinja http://jinja.pocoo.org/
mako http://www.makotemplates.org/
templite http://www.joonis.de/en/code/templite

ORM (Object-relational mapping)
SQLAlchemy http://www.sqlalchemy.org (""SqlSoup"")
peewee http://peewee.readthedocs.org/ (light ORM)

Pretty print - tables / Dataframe
tabulate https://bitbucket.org/astanin/python-tabulate/
terminaltables https://robpol86.github.io/terminaltables/
PTable https://github.com/kxxoling/PTable (forked from ""PrettyTable"")
""PrettyPandas"" https://github.com/HHammond/PrettyPandas/

Profiling
profile, cProfile, and pstats
##python -m cProfile -o output.profile <file-to-run> <args>##
runsnake http://www.vrplumber.com/programming/runsnakerun/
snakeviz https://jiffyclub.github.io/snakeviz/

Programmation fonctionnelle
https://docs.python.org/dev/howto/functional.html
functools https://docs.python.org/3/library/functools.html
Livres:
Functional Python Programming Learning by Steven Lott - PacktPub
https://www.packtpub.com/application-development/functional-python-programming

Recherche / indexation
Whoosh https://bitbucket.org/mchaput/whoosh/wiki/Home

REST
tastypie https://django-tastypie.readthedocs.org/en/latest/
http://www.django-rest-framework.org/

Serialisation
Shelve https://docs.python.org/3/library/shelve.html
Pickle http://docs.python.org/2/library/pickle.html
cPickle http://docs.python.org/release/2.5/lib/module-cPickle.html
pickleshare https://github.com/pickleshare/pickleshare (support concurrency)
marshal http://docs.python.org/2/library/marshal.html
JSON
json http://docs.python.org/2/library/json.html
simplejson http://simplejson.readthedocs.org/en/latest/
demjson http://deron.meranda.us/python/demjson/
jsonpicke http://jsonpickle.github.io/ (supporte la sérialisation de datetime, timedelta et objets persos)
anyjson https://pypi.python.org/pypi/anyjson
BSON
http://bsonspec.org/
http://api.mongodb.org/python/1.7/api/pymongo/bson.html
""MessagePack"" / ""MsgPack"" http://msgpack.org/ (binary JSON)

YAML http://yaml.org/
""PyYaml"" http://pyyaml.org/
""PySyck"" http://pyyaml.org/wiki/PySyck
XML
y_serial http://yserial.sourceforge.net/ Warehouse compressed Python objects with SQLite

anydbm
http://docs.python.org/2/library/anydbm.html

pickledb (inspiré de redis (cf NoSQL))
http://pythonhosted.org/pickleDB/

voir aussi python data persistence
http://docs.python.org/2/library/persistence.html
http://stackoverflow.com/questions/1235594/comparing-persistent-storage-solutions-in-python

[[Serverless]]
http://c.colabug.com/thread-1926929-1-1.html What is Serverless all about?
https://github.com/Miserlou/Zappa
https://github.com/mcrowson/zappa_dash Zappa + Dash

Son
""PySoundFile"" https://github.com/bastibe/PySoundFile
python-sounddevice https://github.com/spatialaudio/python-sounddevice

System and control toolbox / Block-Model Simulator / alternatives to Matlab / Simulink ; Scilab / Xcos
python-control
http://python-control.sourceforge.net/manual/
https://github.com/python-control/python-control
http://python-control.readthedocs.io/
http://www.cds.caltech.edu/~murray/wiki/index.php/Python-control/Example:_Vertical_takeoff_and_landing_aircraft
BMSpy
https://github.com/masfaraud/BMSpy
harold
https://github.com/ilayn/harold

Ref:
https://www.reddit.com/r/Python/comments/68ahc5/my_university_is_thinking_of_teaching_the/
https://www.reddit.com/r/Python/comments/5kbknn/feedbackimprovements_on_this_nyquistbode_plots/

Type
traits http://docs.enthought.com/traits/
traitlets https://github.com/ipython/traitlets

Unités physiques / préfixes
pint
https://pint.readthedocs.io/
https://github.com/hgrecco/pint
quantiphy
https://quantiphy.readthedocs.io/
https://github.com/KenKundert/quantiphy/
unyt
https://github.com/yt-project/unyt
quantities
https://pythonhosted.org/quantities/user/tutorial.html
astropy.unit
http://docs.astropy.org/en/stable/units/

World timezone definitions
http://pytz.sourceforge.net/

XML
http://www.yattag.org/ Génération de HTML/XML avec notion de context manager (with)

XMPP
wokkel http://wokkel.ik.nu/
xmppy http://xmpppy.sourceforge.net/

[[Graphes]] / réseaux / arbres (tree)
Gato http://gato.sourceforge.net/
""NetworkX"" http://networkx.github.io/
igraph http://igraph.org/
graph-tool http://projects.skewed.de/graph-tool/
Gephi https://gephi.org/2012/python-scripting-console-for-gephi/
Nodebox http://nodebox.net/ (artistique)
pydot https://github.com/erocarrera/pydot Python interface to Graphviz's Dot language
ete2 http://etetoolkit.org/

Divers
os (Interaction Python & OS) http://docs.python.org/library/os.html
glob (Recherche de fichiers en utilisant un motif) http://docs.python.org/library/glob.html
%%(python)
import glob

for infile in glob.glob("*.jpg"):
...
%%
path.py https://pypi.python.org/pypi/path.py

[[ProgrammationParContraintes Programmation par contraintes]]

workflow
airflow https://github.com/apache/incubator-airflow
luigi https://github.com/spotify/luigi

===== [[Binding]] / [[Wrapper]] / autres implémentations =====
Pyrex http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex pour petite bibliothèque [[C]]
Cython http://www.cython.org/
Swig http://www.swig.org pour grande bibliothèque [[C]]
Boost.Python http://www.boost.org/libs/python/doc/ pour bibliothèque [[CPlusPlus C++]]
Scxx - a Simple Python/[[CPlusPlus C++]] API http://davidf.sjsoft.com/mirrors/mcmillan-inc/scxx.html
Jython ([[Java]]) http://www.jython.org http://wikipython.flibuste.net/moin.py/InterfaceAvecLangageJava
""PyPy"" http://pypy.org/ fast, compliant alternative implementation of the Python language
Brython http://www.brython.info/ A Python 3 implementation for client-side web programming
Empythoned https://github.com/replit/empythoned CPython compiled to JS using emscripten
Shiboken http://shiboken.readthedocs.org/ (utilisé par PySide)
Skulpt http://www.skulpt.org/
Repl.it Python http://repl.it/languages/Python
""IronPython"" [http://www.ironpython.com Python pour .Net
mypy http://www.mypy-lang.org/ experimental Python variant that aims to combine the benefits of dynamic (or "duck") typing and static typing

Extending Vs. Embedding http://twistedmatrix.com/users/glyph/rant/extendit.html
cffi https://cffi.readthedocs.org/

===== Compilateur / interpréteur =====
PLY http://www.dabeaz.com/ply/ Python Lex Yacc
voir [[Grammaire]]

===== Exemples de code =====
{{svn mode="getsource" url="/python"}}

Cookbook Python http://aspn.activestate.com/ASPN/Python/Cookbook/
AstucesPython

===== Exemples de logiciels en Python =====
Hachoir
Bittorrent
Laurent Pointal - Python Works
http://perso.limsi.fr/pointal/python:portail
""SebSauvage.net""
http://sebsauvage.net/python/programs.html
http://sebsauvage.net/python/snyppets/
Automate cellulaire en Python (vectorisation de code avec NumPy, affichage avec PyGame, profilage avec ##cProfile##)
http://blogs.univ-poitiers.fr/laurentsignac/2011/10/24/158/

===== Python 2 vers Python 3 =====
http://docs.python.org/library/2to3.html
six http://pythonhosted.org/six/ Python 2 and 3 Compatibility Library
modernize http://python-modernize.readthedocs.org/
future http://python-future.org/compatible_idioms.html

===== Déploiement =====
""Py2exe"" http://www.py2exe.org/
""PyInstaller"" http://pyinstaller.python-hosting.com/
Python Portable (Portable Apps pour clé USB) http://www.portablepython.com
Movable Python
http://www.voidspace.org.uk/python/movpy/
http://code.google.com/p/movable-python/
nuitka http://nuitka.net/

===== Cloud =====
PythonAnywhere https://www.pythonanywhere.com/
Multyvac http://www.multyvac.com/ ex ""PiCloud"" http://www.picloud.com/
Wakari https://www.wakari.io/

===== Micro-contrôleur =====
Micro-Python et Pyboard
http://micropython.org/
https://micropython.org/store/
cf [[uC]] [[ARM]]

===== [[Android]] =====
SL4A - Scripting Layer For Android https://github.com/damonkohler/sl4a

===== LangagesDeProgrammationPourLesEnfants =====
http://inventwithpython.com/


===== Python pour [[uC]] =====
""MicroPython""
http://micropython.org
https://github.com/micropython/micropython
""CircuitPython""
https://github.com/adafruit/circuitpython
https://learn.adafruit.com/welcome-to-circuitpython/what-is-circuitpython
https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor
Mu Editor
https://codewith.mu/

===== Tendances =====
awesome-python https://github.com/vinta/awesome-python#environment-management
data-science-ipython-notebooks https://github.com/donnemartin/data-science-ipython-notebooks
http://www.xavierdupre.fr/app/ensae_teaching_cs/helpsphinx3/data2a.html
https://github.com/trending?l=python
https://github.com/trending?l=python&since=monthly

voir aussi :
- [[Julia]]
- [[R]]
- [[Ruby]]
- LangagesDeProgrammationPourLesEnfants
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki