KlongPy è un adattamento in Python del linguaggio di array Klong, progettato per offrire operazioni vettoriali ad alte prestazioni sfruttando la potenza di NumPy. Adottando una filosofia "batteries included", KlongPy integra moduli predefiniti con l'ecosistema di Python. Facilita quindi lo sviluppo rapido di applicazioni attraverso la sintassi di Klong.
KlongPy e NumPy
KlongPy utilizza NumPy per la manipolazione di array con un elevato livello di efficienza. Permette così di effettuare delle elaborazioni più rapide e efficaci rispetto agli approcci tradizionali agli array. Incorporando CuPy, KlongPy estende le sue capacità di operare su backend sia CPU che GPU, vengono dunque garantite diverse opzioni di calcolo. La combinazione delle funzionalità integrate di KlongPy con le librerie di Python consente poi di costruire applicazioni complesse con relativa facilità.
Ispirato al lavoro di Nils M Holm, creatore originale di Klong, e arricchito dal suo "Klong Book", KlongPy si rivela particolarmente utile per data scientist, analisti, ricercatori e appassionati di linguaggi di programmazione. Soprattutto grazie ai livelli di performance assicurati.
Installazione con pip
Per installare KlongPy, è sufficiente eseguire il seguente comando:
pip3 install "klongpy[full]"
Esso funge sia da runtime per l'Array Programming che da insieme di strumenti per la costruzione di applicazioni ad alte prestazioni per l'analisi dei dati e il calcolo distribuito. Proprio perché basato su Klong, offre una sintassi di programmazione ad array concisa ed espressiva. Appositamente pensata per data scientist e ingegneri.
Progettato per il calcolo vettoriale ad alta velocità, consente di elaborare rapidamente grandi set di dati su CPU o GPU. Include poi l'integrazione con DuckDb, un archivio colonnare in-process che può operare direttamente su array NumPy.
Il supporto integrato per la comunicazione IPC, quindi inter-processo, facilita la comunicazione tra diversi processi e sistemi, la costruzione di pipeline diventa quindi più semplice.
Esso include inoltre un Web server che semplifica la costruzione di siti Internet e fornisce una funzionalità di timer periodico per eseguire compiti a intervalli regolari.