-->

Sunday, November 12, 2017

The Python programming language is actively used by many people, both in industry and academia for a wide variety of purposes.

Integrated development environments for Python



source : www.jonobacon.com

  • Atom, an open source cross-platform IDE with autocomplete, help and more Python features under package extensions.
  • Boa Constructor, a cross-platform IDE for Python development
  • EasyEclipse, an open source IDE for Python and other languages
  • Eclipse with the Pydev plug-in. Eclipse supports many other languages as well.
  • Eric, an IDE for Python and Ruby
  • Geany, IDE for Python development and other languages
  • Koding a free online development environment for many programming languages including Python.
  • Komodo IDE an IDE for Python, Perl, PHP and Ruby
  • NetBeans, is written in Java and runs everywhere where a JVM is installed.
  • Ninja-IDE, free software, written in Python and Qt, Ninja name stands for Ninja-IDE Is Not Just Another IDE
  • PIDA, open source IDE written in Python capable of embedding other text editors, such as Vim
  • PyCharm, a proprietary and Open Source IDE for Python development
  • PyScripter, Free and open-source software Python IDE for Windows.
  • PythonAnywhere, an online IDE and Web hosting service
  • Python Tools for Visual Studio, Free and open-source plug-in for Visual Studio.
  • Stani's Python Editor (SPE), a cross-platform IDE for Python development
  • Sublime Text, a text editor.
  • Webware for Python, a suite of programming tools for constructing web-based applications in Python
  • Wing IDE, cross-platform proprietary with some free versions/licenses IDE for Python

Unit testing frameworks



source : dbader.org

Python package managers and Python distributions



source : docs.python-guide.org

  • Anaconda, Python distribution with conda package manager
  • Enthought, Enthought Canopy Python with Python package manager
  • pip, package management system used to install and manage software packages written in Python

Applications



source : www.davidbaumgold.com

  • A-A-P, a tool used to download, build and install software via Makefile-like "recipes"
  • Anki, a spaced repetition flashcard program
  • Ansible, a configuration management engine for computers by combining multi-node software deployment and ad hoc task execution
  • Bazaar, a free distributed revision computer control system
  • BitBake, make-like build tool with the special focus of distributions and packages for embedded Linux cross compilation
  • BitTorrent, original client, along with several derivatives
  • Blender, 3D art and animation program with a game engine. Allows for Python scripting in the game engine and in modelling and animation.
  • Buildbot, a continuous integration system
  • Buildout, a software build tool, primarily used to download and set up development or deployment software dependencies
  • Calibre, an open source e-book management tool
  • Chandler, a personal information manager including calendar, email, tasks and notes support that is not currently under development
  • Cinema 4D, a 3D art and animation program for creating intros and 3-Dimensional text. Has a built in Python scripting console and engine.
  • Conch, implementation of the Secure Shell (SSH) protocol with Twisted
  • Deluge, a BitTorrent client for GNOME
  • Dropbox, a web-based file hosting service
  • emesene, a MSN/WLM substitute
  • Exaile, an open source audio player
  • Free Python Games, collection of free Python games for education and fun
  • Gajim, an instant messaging client for the XMPP protocol
  • GlobaLeaks, an open-source whistleblowing framework
  • Gramps, an open source genealogy software
  • Gunicorn, a pre-fork web server for WSGI applications
  • Gwibber, a microblogging client
  • GYP (Generate Your Projects), a build automation tool (similar to CMake and Premake) designed to generate native IDE project files (e.g., Visual Studio, Xcode, etc.) from a single configuration
  • Image Packaging System (IPS), an advanced, cross-platform package management system primarily used in Solaris and OpenSolaris/illumos derivatives
  • Juice, a popular podcast downloader
  • Mercurial a cross-platform, distributed source management tool
  • Miro, a cross-platform internet television application
  • Morpheus, file-sharing client/server software operated by the company StreamCast
  • MusicBrainz Picard, a cross-platform MusicBrainz tag editor
  • Nicotine, a PyGTK Soulseek client
  • OpenLP, lyrics projection software
  • OpenShot Video Editor
  • OpenStack, a cloud computing IaaS platform
  • Pip, a package manager used to install and manage Python software packages such as those from the Python Package Index (PyPI) software repository
  • PiTiVi, a non-linear video editor
  • Portage, the heart of Gentoo Linux, an advanced package management system based on the BSD-style ports system
  • PyGopherd, a modern Gopher web server that also supports HTTP and WAP
  • Quake Army Knife, an environment for developing 3D maps for games based on the Quake engine
  • Quod Libet, a cross-platform free and open source music player, tag editor and library organizer
  • Resolver One, a spreadsheet
  • SageMath, a combination of more than 20 main opensource math packages and provides easy to use web interface with the help of Python
  • Salt, a configuration management and remote execution engine
  • SCons, a tool for building software
  • Shinken, a computer system and network monitoring software application compatible with Nagios
  • Tryton, a three-tier high-level general purpose computer application platform
  • Ubuntu Software Center, a graphical package manager, was installed by default in Ubuntu 9.10, and stopped being included in Ubuntu releases starting with the Ubuntu 16.04 release.
  • Wicd, a network manager for Linux
  • WikidPad, a free wiki-like outliner for personal thoughts, ideas, to-do lists, contacts, etc. with wiki-like linking between pages.
  • YUM, a package management utility for RPM-compatible Linux operating systems
  • Waf, a build automation tool designed to assist in the automatic compilation and installation of computer software
  • Xpra, a tool which runs X clients, typically on a remote host, and directs their display to the local machine without losing any state

Web applications



source : dynamoprimer.com

  • Allura, an ASF software forge for managing source code repositories, bug reports, discussions, wiki pages, blogs and more for multiple projects
  • Bloodhound, an ASF project management and bug tracking system
  • ERP5, a powerful open source ERP / CRM used in Aerospace, Apparel, Banking and for e-government
  • ERPNext, an open source ERP / CRM
  • Kallithea, a source code management system
  • Mailman, one of the more popular packages for running email mailing lists
  • MakeHuman, free software for creating realistic 3D humans.
  • MoinMoin, a wiki engine
  • OpenERP, new name Odoo, an open source comprehensive suite of business applications
  • Planet, a feed aggregator
  • Plone, an open source content management system
  • Roundup, a bug tracking system
  • Tor2web, an HTTP proxy for Tor Hidden Services (HS)
  • Trac, web-based bug/issue tracking database, wiki, and version control front-end
  • Turntable.fm, a discontinued social media site for interactively sharing music
  • ViewVC, a web-based interface for browsing CVS and SVN repositories

Video games



source : alternativeto.net

  • Bridge Commander
  • Civilization IV uses Python for most of its tasks
  • Disney's Toontown Online is written in Python and uses Panda3D for graphics.
  • Battlefield 2 uses Python for all of its addons and a lot of its functionality
  • Eve Online uses Stackless Python
  • Freedom Force
  • Frets on Fire is written in Python and uses Pygame
  • The Temple of Elemental Evil, a computer role-playing game based on the classic Greyhawk Dungeons & Dragons campaign setting
  • Unity of Command (video game) is an operational-level wargame about the 1942/43 Stalingrad Campaign on the Eastern Front.
  • Vampire: The Masquerade â€" Bloodlines, a computer role-playing game based on the World of Darkness campaign setting
  • Vega Strike, an open source space simulator, uses Python for internal scripting
  • World of Tanks uses Python for most of its tasks

Web frameworks



source : www.voidspace.org.uk

  • BlueBream, a rewrite by the Zope developers of the Zope 2 web application server
  • Bottle, A fast, simple and lightweight WSGI micro web framework
  • CherryPy, an object-oriented web application server and framework
  • Django, an MVT (model, view, template) web framework
  • Flask, a modern, lightweight, well-documented microframework based on Werkzeug and Jinja 2
  • Google App Engine, a platform for developing and hosting web applications in Google-managed data centers, including Python.
  • Grok, a web framework based on Zope Toolkit technology
  • Nagare, a web framework for developing web applications in Stackless Python
  • Nevow, a web application framework originally developed by the company Divmod
  • Pylons, a lightweight web framework emphasizing flexibility and rapid development
  • Pyramid, is a minimalistic web framework inspired by Zope, Pylons and Django
  • Python Paste, set of utilities for web development that has been described as "a framework for web frameworks"
  • Quixote, a framework for developing Web applications in Python
  • RapidSMS, a web framework which extends the logic and capabilities of Django to communicate with SMS messages
  • Spyce, a technology to embed Python code into webpages
  • TACTIC, a web-based smart process application and digital asset management system
  • Tornado, a lightweight non-blocking server and framework
  • TurboGears, a web framework combining SQLObject/SQLAlchemy, Kid/Genshi, and CherryPy/Pylons
  • web2py, a full-stack enterprise web application framework, following the MVC design
  • Webware for Python, an object-oriented web application framework
  • Zope 2, an application server, commonly used to build content management systems

Graphics frameworks



source : dynamoprimer.com

  • Pygame, Python bindings for SDL
  • Panda3D, a 3D game engine for Python
  • Python Imaging Library, a module for working with images
  • Python-Ogre, a Python Language binding for the OGRE 3D engine
  • Soya3D, a high-level 3D game engine for Python

UI frameworks



source : www.debianadmin.com

  • appJar, cross-platform, open source GUI library for Python. Provides easy wrapper functions around most of Tkinter with extra functionality built in.
  • Kivy, open source Python library for developing multitouch application software with a natural user interface (NUI).
  • PyGTK, a popular cross-platform GUI library based on GTK+; furthermore, other GNOME libraries also have bindings for Python
  • PyQt, another cross-platform GUI library based on Qt; as above, KDE libraries also have bindings
  • PySide, an alternative to the PyQt library, released under the BSD-style licence
  • Tkinter is Python's de facto GUI it is shipped in most versions of Python and is integrated in the IDLE. It is based Tcl command tool.
  • wxPython, a port of wxWidgets and a cross-platform GUI library for Python

Scientific packages



  • Astropy, a library of Python tools for astronomy and astrophysics.
  • Biopython, a Python molecular biology suite
  • graph-tool, a Python module for manipulation and statistical analysis of graphs.
  • Orange, an open-source visual programming tool featuring interactive data visualization and methods for statistical data analysis, data mining, and machine learning.
  • NetworkX, a package for the creation, manipulation, and study of complex networks.
  • SciPy, a library of scientific and numerical routines
  • scikit-learn, a library for machine learning.
  • TomoPy, a package for tomographic data processing and image reconstruction
  • Veusz, a scientific plotting package
  • VisTrails, a scientific workflow and provenance management software with visual programming interface and integrated visualization (via Matplotlib, VTK).
  • Apache Singa, a library for deep learning.

Mathematical libraries



  • Mathics, an open-source implementation of the Mathematica programming language
  • Matplotlib, an extension providing MATLAB-like plotting and mathematical functions
  • NumPy, a language extension that adds support for large and fast, multi-dimensional arrays and matrices
  • Plotly is a scientific plotting library for creating browser-based graphs.
  • SageMath is a large mathematical software application which integrates the work of nearly 100 free software projects.
  • SymPy, a symbolic mathematical calculations package
  • PyMC, python module containing Bayesian statistical models and fitting algorithms, including Markov chain Monte Carlo.

Additional development packages



  • Cheetah, a Python-powered template engine and code-generation tool
  • Cherry, a non-WYSIWYG templating language developed for CherryPy framework
  • Construct, a python library for the declarative construction and deconstruction of data structures
  • Genshi, a template engine for XML-based vocabularies
  • IPython, a development shell both written in and designed for Python
  • Jinja, a Python-powered template engine, inspired by Django's template engine
  • Kid, simple template engine for XML-based vocabularies
  • Mako, a non-XML template library which compiles into Python modules for maximum performance
  • Meson build system, a software tool for automating the building (compiling) of software
  • mod_python, an Apache module allowing direct integration of Python scripts with the Apache web server
  • PyObjC, a Python to Objective-C bridge that allows writing OS X software in Python
  • Robot Framework, a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD)
  • Setuptools, a package development process library designed to facilitate packaging Python projects by enhancing the Python distutils (distribution utilities) standard library.
  • Sphinx, which converts reStructuredText files into HTML websites and other formats including PDF, EPub and Man pages
  • SQLAlchemy, database backend and ORM
  • SQLObject, an ORM for providing an object interface to a database
  • Storm, an ORM from Canonical
  • Topsite Templating System, another Python-powered template engine
  • Twisted, a networking framework for Python
  • VPython, the Python programming language plus a 3D graphics module called Visual

Embedded as a scripting language



Python is, or can be used as the scripting language in these software products:

  • Abaqus (Finite Element Software)
  • ADvantage Framework
  • Amarok
  • ArcGIS, a prominent GIS platform, allows extensive modelling using Python
  • Autodesk Maya, professional 3D modeler allows Python scripting as an alternative to MEL as of version 8.5
  • Autodesk MotionBuilder
  • Autodesk Softimage (formerly Softimage|XSI)
  • BioNumerics a bioinformatics software suite for the management, storage and (statistical) analysis of all types of biological data.
  • Blender
  • Boxee, a cross-platform home theater PC software
  • Cinema 4D
  • Corel Paint Shop Pro
  • Claws Mail with Python plugin
  • DSHub
  • ERDAS Imagine
  • EventScripts, plugin for Valve's Source engine
  • FreeCAD
  • gedit
  • GIMP
  • GNAT The GNAT programming chain tool (Ada language implementation in GNU gcc), as a GNATcoll reusable components for the applications (with or without PyGTK) and as a scripting language for the commands in the GPS programming environment
  • Houdini highly evolved 3D animation package, fully extensible using python
  • Inkscape, a free vector graphics editor
  • MeVisLab, a medical image processing and visualization software, uses Python for network scripting, macro modules, and application building
  • Modo
  • Micromine
  • Minecraft: Pi Edition (game)
  • MSC.Software's CAE packages: Adams, Mentat, SimXpert
  • MySQL Workbench, a visual database design tool
  • Notepad++ has a plugin named PythonScript that allows scripting Notepad++ in Python
  • Nuke (compositing for visual effects)
  • ParaView, an opensource scientific visualization software
  • Poser, a 3D rendering and animation computer program that uses for scripting a special dialect of Python, called PoserPython
  • PyMOL, a popular molecular viewer that embeds Python for scripting and integration
  • QGIS uses Python for scripting and plugin-development
  • Rhinoceros 3D version 5.0
  • Rhythmbox
  • Scribus
  • 3DSlicer, medical image visualisation and analysis software. Python is available for algorithm implementation, analysis pipelines, and GUI creation.
  • SPSS statistical software SPSS Programmability Extension allows users to extend the SPSS command syntax language with Python
  • Totem, a media player for the GNOME desktop environment
  • Vim
  • VisIt
  • WeeChat, a console IRC client

Commercial uses



  • CCP hf uses Stackless Python in both its server-side and client-side applications for its MMO Eve Online
  • NASA is using Python to implement a CAD/CAE/PDM repository and model management, integration, and transformation system which will be the core infrastructure for its next-generation collaborative engineering environment. It is also the development language for OpenMDAO, a framework developed by NASA for solving multidisciplinary design optimization problems.
  • "Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python."
  • reddit was originally written in Common Lisp, but was rewritten in Python in 2005
  • Yahoo! Groups uses Python "to maintain its discussion groups"
  • YouTube uses Python "to produce maintainable features in record times, with a minimum of developers"
  • Enthought uses python as the main language for countless custom applications in Geophysics, Financial applications, Astrophysics, simulations for consumer product companies, ...

Python implementations



  • CPython â€" The reference implementation, written in C89
  • Cython is a programming language to simplify writing C and C++ extension modules for the CPython Python runtime.
  • IronPython â€" Python for .NET and Mono platforms
  • Jython â€" Python coded in Java
  • PyPy â€" Python (originally) coded in Python, used in conjunction RPython, a restricted subset of Python that is amenable to static analysis and therefore a JIT.
  • Stackless Python â€" Python with coroutines
  • CLPython â€" Implementation, written in Common Lisp
  • Pyston - an open source Python implementation using JIT techniques. Currently targeting Python 2 support.
  • Parrot â€" Virtual machine being developed mainly as the runtime for Perl 6, but with the intent to also support dynamic languages like Python, Ruby, Tcl, etc.
  • Pyjs â€" a framework (based on GWT concept) for developing client-side Python-based web applications, including a stand-alone Python-to-JavaScript compiler, an Ajax framework and widget toolkit
  • Transcrypt â€" Python to JavaScript compiler allowing source level debugging through sourcemaps
  • Intel Distribution for Python â€" High performance Python Distribution with conda and pip package managers

References



External links



  • Python Package Index (formerly the Python Cheese Shop) is the official directory of Python software libraries and modules
  • ActiveState O'Reilly Python Cookbook contains hundreds of code samples for various tasks using Python
  • Useful Modules in the Python.org wiki
  • Organizations Using Python - a list of projects that make use of Python
  • Ohloh - open source projects in Python
  • pydoc.net - open source package library for Python
  • Python.org editors - Multi-platform table of various Python editors
  • Minimal Web Frameworks for Python Web Developers


 
Sponsored Links