sabato 9 novembre 2013

Six: libreria per la compatibilita tra Python 2.x e Python 3.x

Uno dei dilemmi per chi inizia a studiare/usare Python è se concentrarsi su Python 2 oppure il più recente Python 3. Spesso la scelta è a favore del primo perché, fra gli altri motivi, alcune librerie/framework non supportano ancora Python 3.

Con la libreria di compatibilità Six, il cui nome deriva da 2 * 3 = 6, il prodotto dei numeri delle versione di Python coinvolte, è stato creato un wrapper che nascondendo le differenze permette a molte di queste librerie/framework di funzionare con entrambi le versioni di Python.

Tanto per dire, Django dalla versione 1.5 usa proprio Six per garantirsi la compatibilità sia con Python 2 (≥ 2.6.5) che con Python 3 (≥ 3.2).