# Elenco dei software Python

Questo è un elenco di software correlati al linguaggio di programmazione Python.
Python è un linguaggio di programmazione estremamente versatile e potente, noto per la sua semplicità e leggibilità. È ampiamente utilizzato in vari settori grazie alla sua vasta libreria standard e alle numerose librerie di terze parti disponibili.

## Ambienti di sviluppo integrati (IDE) per Python

* Atom, un IDE multipiattaforma open source con autocompletamento e altre funzionalità per Python messe a disposizione come estensioni.
* Codelobster, un IDE multipiattaforma per vari linguaggi, tra cui Python.
* EasyEclipse, un IDE open source per Python e altri linguaggi.
* Eclipse, con il plug-in Pydev. Oltre a Python, supporta molti altri linguaggi.
* Emacs, con la modalità python integrata.
* Eric, un IDE per Python e Ruby
* Geany, IDE per lo sviluppo Python e altri linguaggi.
* IDLE, un semplice IDE fornito in bundle con l'implementazione predefinita del linguaggio.
* Jupyter Notebook, un IDE che supporta markdown, Python, Julia, R e molti altri linguaggi.
* Komodo IDE e IDE PHOTOS Python, Perl, PHP e Ruby.
* NetBeans scritto in Java e può essere eseguito ovunque sia installata una JVM.
* Ninja-IDE, software libero, scritto in Python e Qt, il nome Ninja è un acronimo ricorsivo che sta per Ninja-IDE Is Not Just Another IDE (Ninja-IDE Non è solo un altro IDE).
* PyCharm, un IDE parzialmente open source dal 2013 per lo sviluppo Python.
* PythonAnywhere, un IDE online e un servizio di web hosting.
* Python Tools per Visual Studio, plug-in gratuito e open source per Visual Studio.
* Spyder, IDE per la programmazione scientifica.
* Vim, con il livello "lang#python" abilitato.
* Visual Studio Code, un IDE open source per vari linguaggi, tra cui Python.
* Wing IDE, IDE proprietario multipiattaforma con alcune versioni/licenze gratuite per Python.
* Replit, un IDE online che supporta più linguaggi.

## Gestori di pacchetti Python e distribuzioni Python

* Anaconda, distribuzione Python con gestore di pacchetti conda
* Enthought, Enthought Canopy Python con gestore di pacchetti Python
* pip, sistema di gestione dei pacchetti utilizzato per installare e gestire software scritto in Python

## Applicazioni

* A-A-P, a tool used to download, build and install software via Makefile-like "recipes"
* Anaconda (installer), un programma di installazione open source utilizzato da alcune distribuzioni Linux tra cui Fedora Linux, CentOS, and Red Hat Enterprise Linux.
* Anki, programma di flashcard a ripetizione spaziata
* Ansible, software libero che consente di automatizzare le procedure di configurazione e gestione sui sistemi unix-like e Windows
* Bazaar, software libero per il controllo versione distribuito
* BitBake, strumento di compilazione simile a make incentrato alle distribuzioni e ai pacchetti per Linux embedded
* BitTorrent, client originale
* Buildbot, sistema di integrazione continua
* Buildout, strumento perla compilazione, utilizzato principalmente per scaricare e impostare dipendenze software e distribuzione
* Calibre, gestore di ebook open source
* Celery, software open source estremamente popolare utilizzato per gestire compiti asincroni in applicazioni software
* Chandler, software per la gestione delle informazioni personali (PIM)
* Cinema 4D, software di modellazione, animazione e rendering 3D
* Conch, implementazione del protocollo Secure Shell (SSH) basato sul framework Twisted
* Deluge, client BitTorrent per GNOME
* Dropbox, servizio di file hosting
* Exaile, lettore multimediale open source
* Gajim, client di messaggistica istantanea multipiattaforma per protocollo XMPP
* GlobaLeaks, software progettato per facilitare il whistleblowing in modo sicuro e anonimo
* GNOME Soundconverter,utilità progettata per la conversione di file audio
* Gramps, software di genealogia open source
* Gunicorn, HTTP WSGI Python utilizzato per applicazioni web scritte in Python
* GYP (Generate Your Projects), strumento di automazione della build che semplifica la creazione di progetti su più piattaforme
* Image Packaging System (IPS), sistema di packaging delle immagini
* Juice, popolare podcast downloader
* Mercurial sistema di controllo versione distribuito, multipiattaforma
* Miro, applicazione per l'internet TV
* Morpheus, software di file sharing peer-to-peer, simile a Napster o eMule
* MusicBrainz Picard, strumento per organizzare la tua collezione musicale
* Nicotine, client grafico per la rete peer-to-peer Soulseek.
* OpenLP, software progettato specificamente per le chiese e le comunità religiose
* OpenShot Video Editor
* OpenStack, software libero di gestione del cloud computing
* Pip, gestore di pacchetti che semplifica notevolmente l'installazione, l'aggiornamento e la rimozione di librerie e moduli aggiuntivi per il tuo ambiente di sviluppo Python
* PiTiVi, software di editing video non lineare
* Portage, sistema di gestione dei pacchetti utilizzato principalmente nella distribuzione Linux Gentoo
* Pychess,programma di gioco degli scacchi
* Quake Army Knife, strumento progettato per la creazione e la modifica di livelli e asset per i giochi della serie Quake
* Quod Libet, lettore audio noto per la sua flessibilità e personalizzazione.
* Resolver One, un foglio elettronico
* SageMath, strumento di calcolo matematico progettato per offrire un'alternativa completa e flessibile ai software commerciali come Mathematica o Maple
* Salt, strumento progettato per automatizzare la gestione e la configurazione di qualsiasi infrastruttura o applicazione su larga scala
* SCons, strumento che semplifica il processo di costruzione di software.
* Shinken,strumento per monitorare la salute e le performance dei sistemi informatici
* TouchDesigner, strumento utilizzato principalmente nel mondo della creazione di contenuti visivi interattivi e real-time
* Tryton, piattaforma Enterprise Resource Planning (ERP)
* Ubuntu Software Center, programma grafico, deprecato, che permetteva agli utenti di Ubuntu di installare, rimuovere e aggiornare software in modo semplice e intuitivo.
* Wicd, network manager per Linux
* YUM, strumento a linea di comando utilizzato per gestire i pacchetti software su distribuzioni Linux basate su Red Hat
* Waf, strumento per automatizzare i processi di build
* Xpra, strumento che consente di accedere a un desktop remoto in modo efficiente e flessibile

## Applicazioni web

* Allura, Piattaforma open source per la gestione di progetti software, che include strumenti per il controllo delle versioni, il tracciamento dei bug e la collaborazione.
* Bloodhound, Strumento di ricerca per trovare vulnerabilità nei sistemi informatici, in particolare nei codici sorgente.
* ERP5, un potente ERP/CRM open source utilizzato nei settori aerospaziale, abbigliamento, bancario e per l'e-government
* ERPNext, un ERP/CRM open source
* FirstVoices, Progetto online che documenta e conserva le lingue indigene delle Prime Nazioni del Canada.
* Kallithea, Sistema di gestione del codice sorgente, con funzionalità simili a Git, ma con un'interfaccia web più user-friendly.
* Mailman, Software per la gestione di mailing list, che consente di creare e gestire facilmente liste di discussione.
* MakeHuman, Applicazione gratuita e open source per la creazione di modelli 3D di personaggi umani.
* MoinMoin, Wiki semplice e leggero, ideale per progetti di piccole e medie dimensioni.
* Odoo (precedentemente OpenERP), Suite ERP open source completa e modulare, che offre una vasta gamma di applicazioni per la gestione aziendale.
* Planet, Aggregatore di notizie RSS personalizzabile, spesso utilizzato per creare siti web che raccolgono contenuti da diverse fonti.
* Plone, Piattaforma di content management system (CMS) open source, flessibile e personalizzabile.
* Roundup, Sistema di tracciamento dei bug e di gestione dei progetti, con un'interfaccia web intuitiva.
* Tor2web, Strumento che consente di accedere a siti web anonimi tramite la rete Tor
* Trac, Sistema di tracciamento dei ticket e di gestione dei progetti, spesso utilizzato nello sviluppo software.
* ViewVC, un'interfaccia web per la navigazione nei repository CVS e SVN

## Videogiochi

* Battlefield 2 utilizza Python per i suoi componenti aggiuntivi e per molte delle sue funzionalità.
* Bridge Commander
* Disney's Toontown Online è scritto in Python e utilizza Panda3D per la grafica.
* Doki Doki Literature Club!, una visual novel horror psicologica che utilizza il motore Ren'Py
* Eve Online utilizza Stackless Python.
* Frets on Fire è scritto in Python e utilizza Pygame
* Mount & Blade è scritto in Python.
* Pirates of the Caribbean Online è scritto in Python e utilizza Panda3D per la grafica.
* SpongeBob SquarePants: Revenge of the Flying Dutchman utilizza Python come linguaggio di scripting.
* The Sims 4 utilizza Python
* The Temple of Elemental Evil, un gioco di ruolo per computer basato sulla classica ambientazione di Greyhawk Dungeons & Dragons
* Unity of Command è un wargame di livello operativo sulla campagna di Stalingrado del 1942-43 sul fronte orientale.
* Vampire: The Masquerade – Bloodlines, un gioco di ruolo per computer basato sull'ambientazione della campagna World of Darkness
* Vega Strike, un simulatore spaziale open source, utilizza Python per la scrittura interna
* World of Tanks utilizza Python per la maggior parte delle sue attività.

## Framework Web

* BlueBream: Framework web leggero e minimalista.
* CherryPy: Framework web semplice e scalabile, ottimo per progetti di piccole e medie dimensioni.
* CubicWeb: Framework web basato su RDF (Resource Description Framework) per applicazioni semantiche.
* Django: Framework web di alto livello, potente e versatile, adatto a progetti web complessi.
* Flask: Framework web leggero e flessibile, ideale per prototipazione e applicazioni web semplici.
* Google App Engine: Piattaforma di Google Cloud per lo sviluppo e l'hosting di applicazioni web scalabili.
* Grok: Framework web basato su Zope, orientato all'esperienza utente.
* Jam.py: Framework web minimalista focalizzato sulla semplicità e la rapidità di sviluppo.
* Nevow: Framework web basato su templating e componenti per interfacce web dinamiche.
* Pylons: Framework web obsoleto, ma base per Pyramid.
* Pyramid: Framework web derivato da Pylons, flessibile e ben documentato.
* Python Paste: Collezione di middleware per applicazioni web Python.
* Quixote: Framework web Python classico, meno popolare rispetto ad alternative più recenti.
* RapidSMS: Piattaforma per lo sviluppo di applicazioni di messaggistica SMS.
* Spyce: Framework web Python orientato ai servizi web RESTful.
* TACTIC: Framework web Python per la gestione di contenuti aziendali (ECM).
* Tornado: Framework web ad alte prestazioni, ottimo per applicazioni web in tempo reale.
* TurboGears: Framework web full-stack Python per progetti web complessi.
* web2py: Framework web Python completo e open source, con focus sulla rapidità di sviluppo.
* Zope: Framework web Python utilizzato principalmente per la creazione di CMS

## Framework grafici

* Pygame: Una libreria Python multipiattaforma per lo sviluppo di videogiochi 2D. Offre strumenti per gestire grafica, suono, input e molto altro.
* Panda3D: Un motore grafico 3D open-source scritto in C++ e Python. È noto per la sua flessibilità e la sua capacità di creare giochi 3D complessi.
* Python Imaging Library (PIL): Una libreria Python per l'elaborazione di immagini. Permette di aprire, manipolare e salvare vari formati di immagine.
* Python-Ogre: Un binding Python per il motore grafico Ogre3D.

## Framework dell'interfaccia utente

* appJar,Framework GUI semplice e intuitivo, ideale per creare interfacce utente rapidamente.
* Kivy, Framework multi-touch cross-platform per lo sviluppo di applicazioni con interfacce utente naturali (NUI)
* PyGTK, una popolare libreria GUI multipiattaforma basata su GTK+
* PyQt, un'altra libreria GUI multipiattaforma basata su Qt
* PySide, un'alternativa alla libreria PyQt, rilasciata sotto la licenza in stile BSD
* Tkinter è di fatto l'interfaccia grafica utente (GUI) di Python: è inclusa nella maggior parte delle versioni di Python ed è integrata in IDLE . Si basa sullo strumento di comando Tcl.
* wxPython, un port di wxWidgets e una libreria GUI multipiattaforma per Python

## Pacchetti scientifici

* Astropy, una libreria di strumenti Python per l'astronomia e l'astrofisica.
* Biopython, una suite di biologia molecolare Python
* Gensim, una libreria per l'elaborazione del linguaggio naturale, inclusa la modellazione di argomenti non supervisionati e il recupero di informazioni
* graph-tool, un modulo Python per la manipolazione e l'analisi statistica dei grafici.
* Natural Language Toolkit, o NLTK, una suite di librerie e programmi per l'elaborazione simbolica e statistica del linguaggio naturale (NLP) per l'inglese
* Orange, uno strumento di programmazione visuale open source che offre visualizzazione interattiva dei dati e metodi per l'analisi statistica dei dati, il data mining e l'apprendimento automatico.
* NetworkX, un pacchetto per la creazione, la manipolazione e lo studio di reti complesse .
* SciPy, raccolta di pacchetti per matematica, scienze e ingegneria
* scikit-learn, una libreria per l'apprendimento automatico.
* TomoPy, un pacchetto per l'elaborazione dei dati tomografici e la ricostruzione delle immagini
* Veusz, un pacchetto di tracciamento scientifico
* VisTrails, un software scientifico per la gestione del flusso di lavoro e della provenienza con interfaccia di programmazione visuale e visualizzazione integrata (tramite Matplotlib, VTK).
* Apache Singa, libreria open source di apprendimento automatico distribuito

## Librerie matematiche

* CuPy, una libreria per il calcolo accelerato da GPU
* Dashboard, una libreria per il calcolo parallelo
* Mathics, un'implementazione open source del linguaggio di programmazione Mathematica
* Matplotlib, fornisce funzioni matematiche e di tracciamento simili a MATLAB (utilizzando NumPy).
* NumPy, un'estensione del linguaggio che aggiunge il supporto per array e matrici multidimensionali grandi e veloci
* Plotly è una libreria di grafici scientifici per la creazione di grafici basati sul browser.
* SageMath applicazione che integra il lavoro di quasi 100 progetti
* SymPy, libreria Python dedicata al calcolo simbolico e all'analisi matematica
* PyMC, libreria Python dedicata alla modellazione statistica bayesiana

## Librerie numeriche

* NumPy, Fornisce array multidimensionali e strumenti per operare su questi array in modo efficiente, costituendo la base per molte altre librerie scientifiche in Python.
* Pandas, Progettato per la manipolazione e l'analisi di dati, offre strutture dati come DataFrame e Series, ideali per lavorare con dati tabulari.
* SageMath, Un sistema completo di matematica open-source che include SymPy e molte altre librerie, offrendo un ambiente interattivo per calcoli matematici, algebra, geometria e altro.
* SciPy, Una raccolta di algoritmi e strumenti matematici di alto livello, costruita su NumPy, che copre un'ampia gamma di applicazioni come ottimizzazione, integrazione numerica, statistica e altro.
* ScientificPython, Una libreria più vecchia, ora in gran parte sostituita da SciPy e NumPy, ma ancora utilizzata in alcuni progetti legacy.
* SymPy, Una libreria per il calcolo simbolico, che permette di manipolare e risolvere espressioni matematiche in modo simile a come faresti a mano, ma utilizzando un computer.

## Pacchetti di sviluppo aggiuntivi

* Beautiful Soup, Libreria Python per il parsing di documenti HTML e XML.
* Cheetah, Template engine Python per la generazione di contenuto dinamico, spesso usato per applicazioni web.
* Construct, Libreria Python per la definizione e il parsing di strutture dati, specialmente formati binari.
* Genshi, Template engine Python, spesso usato per applicazioni web.
* IPython, Shell Python interattivo che fornisce funzionalità avanzate per l'esplorazione dei dati, la visualizzazione e il calcolo scientifico.
* Jinja, Popolare template engine Python, spesso usato per applicazioni web.
* Kid, Linguaggio e motore di template per la generazione di XML e HTML.
* Meson build system, Sistema di build veloce, flessibile e user-friendly.
* mod python, Modulo Python che permette di incorporare codice Python nelle configurazioni del server web Apache.
* PyObjC, Ponte tra Python e Objective-C, che consente a Python di interagire con i framework macOS e iOS.
* Robot Framework, Framework di automazione dei test generico, spesso usato per lo sviluppo guidato dai test di accettazione (ATDD).
* Setuptools, Raccolta di strumenti di distribuzione Python, usati per gestire pacchetti Python e le loro dipendenze.
* Sphinx, Strumento di generazione della documentazione, usato per creare documentazione di alta qualità in vari formati.
* SQLAlchemy, Toolkit SQL Python e Object-Relational Mapper (ORM), usato per interagire con i database.
* SQLObject, ORM più semplice per Python, che fornisce un'interfaccia più concisa e intuitiva.
* Storm, Sistema di calcolo distribuito in tempo reale, usato per elaborare grandi flussi di dati.
* Twisted, Framework di rete asincrono, usato per costruire applicazioni di rete.
* VPython, Modulo Python per la creazione di visualizzazioni 3D, spesso usato per scopi educativi.

## Incorporato come linguaggio di scripting

Python viene utilizzato come linguaggio di scripting in importanti software tra cui:

### Usi commerciali

* Abaqus (Finite Element Software)
* ADvantage Framework
* Amarok
* ArcGIS, piattaforma GIS con supporto allo scripting Python
* Autodesk Maya, è possibile creare oggetti 3D, animare personaggi, applicare materiali, texture e molto altro ancora tramite codice Python.
* Autodesk MotionBuilder
* Autodesk Softimage
* BioNumerics una suite software per la gestione, l'archiviazione e l'analisi (statistica) di tutti i tipi di dati biologici.
* Blender
* Boxee, software multipiattaforma per l'home theater
* Cinema 4D
* Civilization IV, il suo editor di mappe supporta Python
* Corel Paint Shop Pro
* Claws Mail con Python plugin
* DSHub
* ERDAS Imagine
* FL Studio, offre la possibilità di scrivere script in Python per controllare i dispositivi MIDI e di manipolare direttamente i dati presenti nel Piano Roll di FL Studio
* FreeCAD
* gedit
* GIMP
* GNAT consente di utilizzare Python per creare interfacce utente grafiche e poi integrarle con il core dell'applicazione scritto in Ada e altro ancora
* Houdini consente di estendere le sue funzionalità tramite script Python
* Inkscape, software gratuito e open source per la creazione e la manipolazione di grafica vettoriale
* Krita, software open source per la pittura digitale, progettato appositamente per artisti e illustratori
* MeVisLab, molte operazioni ripetitive, come l'elaborazione di grandi quantità di immagini o la creazione di report, possono essere automatizzate con script Python
* Minecraft
* MySQL Workbench, strumento di progettazione di database visuale
* Notepad++ ha un plugin chiamato PythonScript che consente di scrivere script per Notepad++ in Python
* Nuke
* OriginPro, molte operazioni, come l'importazione di dati, l'analisi statistica e la creazione di report, possono essere automatizzate con script Python
* ParaView
* Poser, offre PoserPython, un'estensione di Poser che permette di controllare e manipolare le scene 3D di Poser utilizzando il linguaggio di programmazione Python
* PyMOL, è possibile creare script personalizzati e sviluppare nuovi strumenti di visualizzazione o di analisi di dati biologici
* QGIS
* Rhinoceros 3D
* Rhythmbox
* Scribus
* SPSS, l'integrazione di Python con SPSS offre un potente strumento per gli analisti di dati che desiderano automatizzare i loro flussi di lavoro, personalizzare le analisi e integrare SPSS con altri strumenti.
* SublimeText
* Totem, lettore multimediale per GNOME
* Vim
* WeeChat, console IRC client

## Implementazioni Python

Le implementazioni di Python includono:
* CLPython – Implementazione, scritta in Common Lisp
* CPython – L'implementazione di riferimento, scritta in C11 . Alcune distribuzioni degne di nota includono:
** ActivePython – Distribuzione con oltre 300 pacchetti inclusi
** Intel Distribution for Python – Distribuzione ad alte prestazioni con gestori di pacchetti conda e pip
** PSF Python – Distribuzione di riferimento che include solo librerie standard selezionate
* Cython – linguaggio di programmazione per semplificare la scrittura di moduli di estensione C e C++ per il runtime Python CPython.
* IronPython – Python per piattaforme CLI (inclusi .NET e Mono )
* Jython – Python per piattaforme Java
* MicroPython – Implementazione Python 3 per piattaforme microcontrollori
* Nuitka: un compilatore sorgente-sorgente che compila il codice Python in eseguibili C / C++, o codice sorgente.
* Numba – Compilatore JIT basato su LLVM compatibile con NumPy
* Pyjs – un framework per lo sviluppo di applicazioni web basate su Python lato client
* PyPy – interprete Python e compilatore JIT.
* Shed Skin – un compilatore source-to-source da Python a C++
* Stackless Python – CPython con coroutine
Le implementazioni storiche di Python includono:
* Parrot – Macchina virtuale sviluppata principalmente come runtime per Raku e destinata a supportare linguaggi dinamici come Python, Ruby, Tcl, ecc.
* Psyco – Un just-in-time (JIT) compiler per Python che convertiva il bytecode Python in codice macchina nativo per accelerare l'esecuzione
* Pyrex – Un superset di Python che permette di scrivere estensioni C per Python, generando codice C ottimizzato.
* Python per S60 – Porting CPython per la piattaforma Nokia S60
* Unladen Swallow – progetto che mirava a migliorare le prestazioni di Python attraverso la compilazione just-in-time (JIT) e altre ottimizzazioni.