Python Data Analysis & Science

Python Data Analysis Library — pandas: Python Data Analysis Library
pandas is an open-source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.

NumPy – fundamental package for scientific computing with Python
NumPy is the fundamental package for scientific computing with Python. It contains among other things, a powerful N-dimensional array object. sophisticated (broadcasting) functions. tools for integrating C/C++ and Fortran code. useful linear algebra, Fourier transform, and random number capabilities. NumPy can also be used as an efficient multi-dimensional container of generic data.

SciPy – Python ecosystem for mathematics, science, and engineering
SciPy (pronounced “Sigh Pie”) is a Python-based ecosystem of open-source software for mathematics, science, and engineering. In particular, these are some of the core packages: NumPy. SciPy library. Matplotlib. IPython. SymPy. pandas.

Matplotlib: Python plotting — Matplotlib 3.1.2 documentation
Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, the Python and IPython shells, the Jupyter notebook, web application servers, and four graphical user interface toolkits.

Welcome to Data Analysis in Python! — Data Analysis in Python
Python is an increasingly popular tool for data analysis. In recent years, a number of libraries have reached maturity, allowing R and Stata users to take advantage of the beauty, flexibility, and performance of Python without sacrificing the functionality these older programs have accumulated over the years.

mpmath – Python library for arbitrary-precision floating-point arithmetic
mpmath is a free (BSD licensed) Python library for real and complex floating-point arithmetic with arbitrary precision. mpmath works with both Python 2 and Python 3, with no other required dependencies. It can be used as a library, interactively via the Python interpreter, or from within the SymPy or Sage computer algebra systems which include mpmath as standard component. CoCalc lets you use mpmath directly in the browser.

Welcome — Theano 0.7 documentation
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. Theano features include: tight integration with NumPy. transparent use of a GPU. efficient symbolic differentiation. speed and stability optimizations. dynamic C code generation. extensive unit-testing and self-verification to detect and diagnose many types of mistakes.

SymPy – Python library for symbolic mathematics
SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python.

Python Advanced: Graph Theory and Graphs in Python
Using Graphs in Python: Implementing Graphs and underlying theory. A “graph”1 in mathematics and computer science consists of “nodes”, also known as “vertices”. Nodes may or may not be connected with one another. Many practical problems can be represented by graphs. They are often used to model problems or situations in physics, biology, psychology and above all in computer science. In computer science, graphs are used to represent networks of communication, data organization, computational devices and the flow of computation.

A Complete Tutorial to Learn Python for Data Science from Scratch
This article is a complete tutorial to learn data science using python from scratch. It will also help you to learn basic data analysis methods using python. You will also be able to enhance your knowledge of machine learning algorithms.

Machine learning in Python — scikit-learn 0.22.1 documentation
Simple and efficient tools for predictive data analysis. Accessible to everybody, and reusable in various contexts. Built on NumPy, SciPy, and matplotlib. Open source, commercially usable – BSD license. Classification. Regression. Clustering. Dimensionality reduction. Model selection. Preprocessing.

 

Python GUI

GUI Programming in Python – Python Wiki
Python has a huge number of GUI frameworks (or toolkits) available for it, from TkInter (traditionally bundled with Python, using Tk) to a number of other cross-platform solutions, as well as bindings to platform-specific (also known as “native”) technologies.

Overview — PyGObject
PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more. It supports Linux, Windows and macOS and works with Python 2.7+, Python 3.5+, PyPy and PyPy3. PyGObject, including this documentation, is licensed under the LGPLv2.1+.

Python – GUI Programming (Tkinter) – Tutorialspoint
Python – GUI Programming (Tkinter) – Python provides various options for developing graphical user interfaces (GUIs). Tkinter − Tkinter is the Python interface to the Tk GUI toolkit shipped with Python. wxPython − This is an open-source Python interface for wxWindows. JPython − JPython is a Python port for Java which gives Python scripts seamless access to Java class libraries on the local machine.

Python GUI Programming With Tkinter – Real Python
Python has a lot of GUI frameworks, but Tkinter is the only framework that’s built into the Python standard library. In this article, you'll learn the basics of GUI programming with Tkinter, the de-facto Python GUI framework. Master GUI programming concepts such as widgets, geometry managers, and event handlers. Then, put it all together by building two applications: a temperature converter and a text editor.

How to Build a Python GUI Application With wxPython – Real Python
There are many graphical user interface (GUI) toolkits that you can use with the Python programming language. The big three are Tkinter, wxPython, and PyQt. Each of these toolkits will work with Windows, macOS, and Linux. In this step-by-step tutorial, you'll learn how to create a cross-platform graphical user interface (GUI) using Python and the wxPython toolkit. A graphical user interface is an application that has buttons, windows, and lots of other widgets that the user can use to interact with your application.

Introduction to GUI With Tkinter in Python- DataCamp
In this tutorial, you are going to learn how to create GUI apps in Python. You’ll also learn about all the elements needed to develop GUI apps in Python.

Python and PyQt: Building a GUI Desktop Calculator – Real Python
In this step-by-step tutorial, you'll learn how to create Graphical User Interface (GUI) applications with Python and PyQt. Once you've covered the basics, you'll build a fully-functional desktop calculator that can respond to user events with concrete actions.

TkInter – Python Wiki
Tkinter is Python’s de-facto standard GUI (Graphical User Interface) package. It is a thin object-oriented layer on top of Tcl/Tk. Tkinter is not the only Gui Programming toolkit for Python. It is, however, the most commonly used one.

Graphical User Interfaces with Tk — Python 3.8.1 documentation
Tk/Tcl has long been an integral part of Python. It provides a robust and platform independent windowing toolkit, that is available to Python programmers using the tkinter package, and its extension, the tkinter.tix and the tkinter.ttk modules. The tkinter package is a thin object-oriented layer on top of Tcl/Tk. To use tkinter, you don’t need to write Tcl code, but you will need to consult the Tk documentation.

kinter Course – Create Graphic User Interfaces in Python | YouTube
Learn Tkinter in this full course for beginners. Tkinter is the fastest and easiest way to create Graphic User Interfaces (GUI applications) with Python. Tkinter comes with Python already, so there’s nothing to install!

Python GUI Programming with Tkinter and Python 3.7 | YouTube
Make a Music Player with tkinter. Creating a Tkinter window. Title, Icon and Geometry. Text and Images. Messagebox + Executing commands in Menubar. Opening up files using Filedialog Tkinter. Calculating Current Time + Threading in Tkinter Python. Events and Bindings.

 

Python sub-Reddits

Python |r/Python
news about the dynamic, interpreted, interactive, object-oriented, extensible programming language Python

Python Education | r/learnpython
Subreddit for posting questions and asking for general advice about your python code.

Python coding: a subreddit for people who know Python | r/pythoncoding
A subreddit for python developers to share articles and news about the python programming language and libraries and frameworks for it.

Python Statistics | r/pystats
A place to discuss the use of python for statistical analysis.

Ask questions about the “Invent Your Own Computer Games with Python” book | r/inventwithpython
The subreddit to discuss Al Sweigart’s Python programming books for beginners.

PyGame on Reddit | r/pygame
Welcome to r/pygame.

 

Python Online Books

How to Make Mistakes in Python | O’Reilly | PDF
Even the best programmers make mistakes. In this O’Reilly online book, Mike Pirnat dissects some of his most memorable mistakes. How an incautiously prepared environment has hampered me. The trivial mistakes that waste a disproportionate amount of my energy. Poor stylistic decisions that impede readability. Assembling code in ways that make change more difficult. Assuming Logging Is Unnecessary.

Functional Programming in Python | O’Reilly | PDF
In this online book, David Mertz, a director of Python Software Foundation, examines the functional aspects of the python. Functions are first-class (objects). Recursion is used as a primary control structure. Pure functional languages eschew side effects. Functional programming worries about what is to be computed rather than how it is to be computed.

Think Python | Green Tea Press | PDF
In this online book, Allen B. Downey, covering most of the language features include: Values and types. Variables. Function calls. Math functions. Encapsulation. Refactoring. Interface design. Debugging OOP. Boolean expressions. Boolean functions. Infinite recursion. Return values. Multiple assignments. Traversal with a for-loop. Reading word lists. Dictionaries and lists and tuples. Data structures. Catching exceptions. Databases. Pipes. Inheritance. GUI.

Intermediate Python – Python Tips | PDF
In this online book, Muhammad Yasoob, covering *args and **kwargs. Debugging. Generators. set Data Structure. Ternary Operators. Map, Filter and Reduce. Decorators. Global & Return. Mutation. Virtual Environment. __slots__ Magic. Collections. Enumerate. Object introspection. Exceptions. Comprehensions. Python C extensions. Lambdas. Classes. Function caching. One-Liners. Targeting Python 2+3.

How to Think Like a Computer Scientist: Interactive Edition
The Way of the Program. Algorithms. The Python Programming Language. Executing Python in this Book. What is Debugging? Syntax errors. Runtime Errors. Semantic Errors. Formal and Natural Languages. Variables, Expressions, and Statements. How to be a Successful Programmer. How to Avoid Debugging. Modules and Getting Help. Unit Testing. Using the Main Function. Algorithms Revisited. The Accumulator Pattern with Strings. Working with Data Files. Exception Handling Flow-of-control. Web Applications. GUI and Event-Driven Programming. OOP.

Dive into Python 3 | PDF
In this online book, Mark Pilgrim, covering what’s new in Python 3, include: Installing on Microsoft Windows, Mac and Linux. Functions. Objects. Exceptions. Numbers. Booleans. Trigonometry. Lists. Sets. Tuples. Working with Files and Directory. Dictionary. Strings. Formatting. Regular Expressions. Closures & Generators. Classes & Iterators. Unit Testing. Refactoring. Formatting. Regular Expressions. Closures & Generators. Classes & Iterators. Unit Testing. Refactoring. Binary Files. XML. Serializing Objects. HTTP. Python Libraries.

Problem Solving with Algorithms and Data Structures using Python
In this online book, Brad Miller and David Ranum, covering the ideas of computer science, programming, and problem-solving. Understand abstraction and the role it plays in the problem-solving process. Understand and implement the notion of an abstract data type. Review the Python programming language. Data Structures. Recursion. Sorting and Searching. Trees and Tree Algorithms. Graphs and Graph Algorithms.

Programming Computer Vision with Python | Work with Images
In this online book, Jan Erik Solem, covering Basic Image Handling and Processing. Local Image Descriptors. Image to Image Mappings. Camera Models and Augmented Reality. Multiple View Geometry. Clustering Images. Searching Images. Classifying Image Content. Image Segmentation. OpenCV. Image Datasets. Computing with Cameras and 3D Structure.

A Programmer’s Guide to Data Mining
The Ancient Art of the Numerati by Ron Zacharski. One goal for this book is to pull back the complexity and show some of the rudimentary methods involved. Granted there are super-smart people at Google, the National Security Agency and elsewhere developing amazingly complex algorithms, but for the most part, data mining relies on easy-to-understand principles. Before you start the book you might think data mining is pretty amazing stuff. By the end of the book, I hope you will be able to say nothing special.

Supporting Python 3
Online book by Lennart Regebro and covering: Preparing for Python 3. Common migration problems. Improving your code with modern idioms. Migrating C extensions.

 

Advanced Python

Advanced Python Tutorials – Real Python
In this section you’ll find Python tutorials that teach you advanced concepts so you can be on your way to becoming a master of the Python programming language. Once you’re past the intermediate-level you can start digging into these tutorials that will teach you advanced Python concepts and patterns.

Python Advanced Topics
Introduction into the sys module. Python and the Shell. Forks and Forking in Python. Introduction to Threads. Pipe, Pipes and “99 Bottles of Beer”. Python Network Scanner. Graph Theory and Graphs in Python. Graphs: PyGraph. A Python Class for Polynomial Functions. Turing Machine in Python. Creating dynamic websites with WSGI. Python, SQL, MySQL, and SQLite. Python Scores.

Python3 Advanced Tutorials | YouTube
This is the Advanced Section of Python3 Tutorial series, Covering many of the less taught topics of python. Some Topics Include Templates, Argparse, Regular Expressions, MultiThreading, Networking, CGI Programming, Database Interaction, C Extensions, PyCrypto and Serialization.

Python – Intermediate and Advanced Features | YouTube
Python is full of awesome features and tricks. In this video series, you’ll see hands-on examples of intermediate and advanced level features and programming techniques in Python. Emulating switch/case Statements in Python with Dictionaries. Python Function Argument Unpacking Tutorial (* and ** Operators). Make your Python Code More Readable with Custom Exceptions. Functional Programming in Python: Immutable Data Structures. Forward References and Python 3 Type Hints.

Advanced Python | YouTube
Tulip: Async I/O for Python 3. Complex Data Structures. Linked Lists. Introduction to Metaclasses. What you need to know about date times. Super Advanced Python. The Art of Subclassing. Interfaces and Python. Namespaces in Python. Pythonic iterators and generators. Class Decorators. Python Design Patterns. Modern Dictionaries. High-performance networking in Python. What Is Async?

Advanced Python – Complete Course | YouTube
Collections in Python. Logging in Python. Exceptions. JSON. Decorators. Generators. Threading vs Multiprocessing. Threading. Multiprocessing. The asterisk (*) operator. Shallow vs Deep Copying. Context Managers. Function arguments in detail. Lambda. Itertools. Dictionaries.

Learn Advanced Python Programming | Udemy | Paid
Make yourself a Pro in Python by making Python based Application. Single and Double Link List. Magic Functions. Socket Programming. In this course, is from a basic knowledge of Python to using more advanced features of the language. We will make some advance Python Applications like Download Manager using advance concepts to make you a professional programmer able to get good jobs in this field.

Learn the 2020 Advanced Python Programming | Udemy | Paid
Learn to make Real-time Advance Level Applications using Advance Level Concepts in Python. Email Automation using SMTP Intuition. Implementing Decorators in Python. Numerical Computation in Python. YouTube Download Manager Application in Python. In this course, we are going to learn only the Advance Level Programming in Python. As grabbing the main concept behind Advance Topics is not simple therefor, special attention is given to the intuition part of each concept where we gonna understand these concepts with proper animated slides.

 

Python Django Web Framework

The Web framework for perfectionists with deadlines | Django
Django makes it easier to build better Web apps more quickly and with less code. Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.

Learn to Build Websites in Django 3.0 | Udemy | Paid
This course covers everything you need to know to build amazing websites in Django 3.0. Starting from the beginner level we will advance towards the advanced topics in Django and I will teach you to create a professional website of your own in Django in no time. So this course will help you in getting the concepts you need to make amazing websites in Django.

Search Results for “Django” | MDN | Mozilla
Tools and testing. Learning and getting help. Styling text. JavaScript First Steps. Use CSS to solve common problems. WebGL by example. Use HTML to solve common problems. Cross-browser testing.

Python Django Web Framework – Full Course for Beginners | YouTube
Learn the Python Django framework with this free full course. Django is an extremely popular and fully featured server-side web framework, written in Python. Django allows you to quickly create web apps. Django Templates. URL Routing and Requests. Django Model Forms. View of a List of Database Objects. Class-Based Views – ListView. Form Validation on a Post Method.

Django Tutorial for Beginners | Full Course | YouTube
Django Setup. First App in Django. Django Template Language (DTL). Model View Template (MVT). Passing Dynamic Data in HTML. Object Relational Mapper (ORM). Postgres and PgAdmin Setup. Models & Migrations. Admin Panel. Add & Fetch Data from Database. User Registration in Django.

Python Django Tutorial 2020 – Full Course for Beginners | YouTube
Creating Local Environment & Documentation. Admin Interface. Views In Django. Automated Testing. Static Files. Craigslist WebScraping Full-Stack App. To-Do List App.

Django Web Development with Python | YouTube
Models. Admin and Apps. Views and Templates. Styling w/ CSS. User Registration. Messages and Includes. User Login and Logout. Linking models with Foreign Keys. Working with Foreign Keys. Dynamic sidebar. Deploying Django to a server.

Python Django Crash Course | YouTube
In this Django 2.x crash course we will build a polling app based off the one from the docs. We will look at apps, views, models, urls, the shell and more.

Django Tutorial – Tutorialspoint
Django is a web development framework that assists in building and maintaining quality web applications. Django helps eliminate repetitive tasks making the development process an easy and time-saving experience. This tutorial gives a complete understanding of Django.

Django Documentation | Django Software Foundation | PDF
First steps. How to install Django. The development process. The model layer. The view layer. The template layer. Common Web application tools. Models and databases. Handling HTTP requests. Working with forms. Templates. Class-based views. User authentication in Django. Testing in Django. Managing files. Deploying Django. Upgrading Django to a newer version. Integrating Django with a legacy database.

Django Tutorials – Real Python | Paid
Django is a high-level Python Web framework that encourages rapid development and clean pragmatic design. A Web framework is a set of components that provide a standard way to develop websites fast and easily. Django’s primary goal is to ease the creation of complex database-driven websites. Some well-known sites that use Django include PBS, Instagram, Disqus, Washington Times, NASA, Prezi, Reddit Gifts and Mozilla.

Why Django is the Best Web Framework for Your Project | Steelkiwi
The advantages of Python as a coding language and why we choose to work with Django web framework, what we consider to be the best web framework for your project. Django is considered the best Python web framework, and it’s great for creating database-driven websites. Why use Django for your project? Let’s dig deeper to see how Django became the core Python framework.

Django (web framework) | Wikipedia
Django is a Python-based free and open-source web framework, which follows the model-template-view (MTV) architectural pattern. It is maintained by the Django Software Foundation (DSF). Django’s primary goal is to ease the creation of complex, database-driven websites. The framework emphasizes reusability, less code, low coupling, rapid development, and the principle of don’t repeat yourself.

 

Python Questions and Answers

Recent questions tagged python | CollectiveSolver
Collective Solver – Programming & Software Q&A. A website you can trust. All python programs tested and works.

Newest ‘python’ Questions – Stack Overflow
Stack Overflow | The World’s Largest Online Community for Developers.

Search the Stack Exchange Network of Sites | search?q=python
Python WordPress. Executing a Python script from Drupal. Physical simulation in python. Learn Numerical methods in Python.

CodeProject | search?q=python
Using Python language. Converting C++ to Python. Python deep learning. Basic differences in Python. Change the PHP code to Python.

Jython/Python Forum at CodeRanch
Convert Java to python. Python Motu Command executes in terminal. OOP in python. Classic Computer Science Problems – which Python version. How can I print this array out in python?

Python – Programmers Heaven
You can ask all your Python related questions at this board. Discussion of all things Pythonic. Whether you’re new or you’re an elite Pythonista, we welcome your input and questions.

Python Forum | Dream.In.Code
This sub-forum is for Python programmers and professionals to discuss topical and non-help related Python topics, start and participate in fun challenges, and share news about the languages and related technologies.

Top 100 Python Interview Questions & Answers | Edureka
This Python Interview Questions blog will prepare you for Python interviews with the most likely questions you are going to be asked.

Top 40 Python Interview Questions & Answers | Guru99
What is Python? What are the benefits of using Python? What is PEP 8? What is pickling and unpickling? How Python is interpreted?

Python Interview Questions and Answers – Intellipaat
Frequently asked Python interview questions with detailed answers and examples. Tips for cracking Python interview. Happy job hunting!

1000 Python MCQs for Freshers & Experienced | Sanfoundry
1000+ Python questions and answers focuses on all areas of Python subject covering 100+ topics in Python. These topics are chosen from a collection of most authoritative and best reference books on Python.

 

Python Editors

GNU Emacs – GNU Project
An extensible, customizable, free/libre text editor. Emacs already has out-of-the-box Python support via ‘python-mode’. The IDE packages listed below can be used to set up a more complete environment quickly. Full Unicode support for nearly all human scripts. Content-aware editing modes, including syntax coloring, for many file types.

EmacsWiki: Python Programming In Emacs
There are a number of Python major modes for Emacs. As well as basic editing these all provide a range of IDE-like features, relying on a mix of native Emacs features and external Emacs/Python packages. python.el – which comes with Emacs 24.2 and up. Various features can be added to or improved in Emacs.

Geany – The Flyweight IDE
Geany is a powerful, stable and lightweight programmer’s text editor that provides tons of useful features without bogging down your workflow. It runs on Linux, Windows and macOS is translated into over 40 languages and has built-in support for more than 50 programming languages. Many supported filetypes including popular programming languages like C, Java, PHP, HTML, JavaScript, Python or Perl.

Notepad++
Notepad++ is a free source code editor and Notepad replacement that supports several languages. Based on the powerful editing component Scintilla. Notepad++ is written in C++ and uses pure Win32 API and STL which ensures a higher execution speed and smaller program size. Notepad++ support Python.

Atom IDE-python package
Python language support for Atom-IDE, powered by the Python language server. ide-python requires Atom 1.21+, Python language server 0.29+ and the atom-ide-ui package to expose the functionality within Atom. Feature Providers: Jedi for Completions, Definitions, Hover, References, Signature Help, and Symbols. Rope for Completions and renaming. Pyflakes linter to detect various errors. McCabe linter for complexity checking. pycodestyle linter for style checking. Pylint linter to detect various errors. Flake8 linter to detect various errors. pydocstyle linter for docstring style checking. autopep8 for code formatting. YAPF for code formatting.

python.vim – Enhanced version of the python syntax highlighting | Vim
Enhanced version of the original (from vim6.1) python.vim for Python programming language. Support Python 3 syntax highlighting. Syntax highlighting. allow to switch between Python 2 and Python 3 syntaxes respectively without reloads/restarts.

Gedit – the GNOME text editor | Linux
Full support for internationalized text (UTF-8). Configurable syntax highlighting for various languages (C, C++, Java, HTML, XML, Python, Perl and many others). Editing files from remote locations. Search and replace with support of regular expressions.A flexible plugin system which can be used to dynamically add new advanced features.

Sublime Text – A sophisticated text editor for code and markup | Paid
Sublime Text has a powerful, Python API that allows plugins to augment built-in functionality. Some features include: Goto Anything, Goto Definition, Multiple Selections, Command Palette, Powerful API and Package Ecosystem, Customize Anything. You can set up a python development environment in sublime text core.

Aquamacs: Emacs for Mac OS X
Aquamacs is an Emacs for Mac OS X that will feel mostly like an Aqua program – while still being a real GNU Emacs with all the ergonomy and extensibility you’ve come to expect from this world-class editor. An Editor for Text, HTML, LaTeX, C++, Java, Python, R, Perl, Ruby and PHP.

Python in Visual Studio Code
Working with Python in Visual Studio Code, using the Microsoft Python extension, is simple, fun, and productive. The extension makes VS Code an excellent Python editor, and works on any operating system with a variety of Python interpreters. It leverages all of VS Code’s power to provide auto complete and IntelliSense, linting, debugging, and unit testing, along with the ability to easily switch between Python environments, including virtual and conda environments.

Python Editors – Python Wiki
Multiplatform Editors. Unix-Only Editors. Windows-Only Editors. Macintosh-Only Editors. Online Editors. Python language support editors.

 

Python IDE’s

PyDev – Python IDE for Eclipse | Eclipse Plugins | Eclipse Marketplace
PyDev is a plugin that enables Eclipse to be used as a Python IDE (supporting also Jython and IronPython). It uses advanced type inference techniques that allow it to provide things such as code completion and code analysis, besides providing a debugger, interactive console, refactoring, tokens browser, Django integration, etc.

PyDev – Python IDE for Eclipse
PyDev is a Python IDE for Eclipse, which may be used in Python, Jython and IronPython development.It comes with many goodies such as Django integration, Code completion, Code completion with auto import, Type hinting, Code analysis, Go to definition, Refactoring, Debugger, Remote debugger, Find Referrers in Debugger, Tokens browser, Interactive console, Unittest integration, Code coverage, and PyLint integration.

Visual Studio Python IDE – Python Development Tools for Windows
Python code insights. Visual Studio IDE analyzes your code to make suggestions. Manage 3rd party libraries. Interactively debugs on Windows and Linux. Much more! Editing, debugging, interactive development for Python apps, using familiar frameworks including Django and Flask. Let Visual Studio think about your code and tell you which types go where. Tooltips, completions and code snippets make you more productive. Find and install the libraries you need.

PyCharm: the Python IDE for Professional Developers by JetBrains | Paid
The Python IDE for Professional Developers. US $649/year for Professionals or Free Community. All the Python tools in one place. Be More Productive. Save time while PyCharm takes care of the routine. Focus on the bigger things and embrace the keyboard-centric approach to get productivity features. Get Smart Assistance. PyCharm knows everything about your code. Rely on it for intelligent code completion, on-the-fly error checking and quick-fixes, easy project navigation, and much more.

Spyder IDE – Scientific Python Decelopment Environment
Spyder is a powerful scientific environment written in Python, for Python, and designed by and for scientists, engineers and data analysts. It offers a unique combination of the advanced editing, analysis, debugging, and profiling functionality of a comprehensive development tool with the data exploration, interactive execution, deep inspection, and beautiful visualization capabilities of a scientific package.

Wing Python IDE – Designed for Python | Paid
Full-featured Python IDE with intelligent editor, powerful debugger, remote development error checking, refactoring, and much more. Wing Python IDE was designed from the ground up for Python, to bring you a more productive development experience. Get immediate feedback by writing your Python code interactively in the live runtime. Find problems early with assistance from Wing’s deep Python code analysis. Keep code clean with smart refactoring and code quality inspection. Work locally or on a remote host, VM, or container.

Thonny, Python IDE for beginners
Easy to get started. Thonny comes with Python 3.7 built-in, so just one simple installer is needed and you’re ready to learn to program. (You can also use a separate Python installation, if necessary) The initial user interface is stripped of all features that may distract beginners. Simple debugger. Just press Ctrl+F5 instead of F5 and you can run your programs step-by-step, no breakpoints needed. Press F6 for a big step and F7 for a small step. Steps follow program structure, not just code lines.

The Eric Python IDE
Eric is a full-featured Python editor and IDE, written in Python. It is based on the cross-platform Qt UI toolkit, integrating the highly flexible Scintilla editor control. It is designed to be used as an everyday quick and dirty editor as well as being usable as a professional project management tool integrating many advanced features Python offers the professional coder. eric includes a plug-in system, which allows easy extension of the IDE functionality with plug-ins downloadable from the net. The current stable version is eric6 based on PyQt5 (with Qt5) and Python 3.

PyScripter download | SourceForge.net
Download PyScripter for free. PyScripter is an open-source Python Integrated Development Environment (IDE) created with the ambition to become competitive in functionality with commercial IDEs available for other languages. It is a feature-rich but also lightweight.

KDevelop Python Support – Python language support for KDevelop
KDE is an open community of friendly people who want to create a world in which everyone has control over their digital life and enjoys freedom and privacy. Adds Python support to KDevelop. Includes adding integration with code highlighting, code completion, build system support, documentation linking and debugging support.

Qt for Python | The official Python bindings for Qt | Paid
Qt for Python is the project that provides the official set of Python bindings (PySide2) that will supercharge your Python applications. While the Qt APIs are world-renowned, there are more reasons why you should consider Qt for Python. The first official release of the PySide2 module is available now! Diving into the world of Qt applications is easy, whether you’re a programming novice or an expert Python wrangler.

Anjuta DevStudio – GNOME Integrated Development Environment | Linux
Anjuta DevStudio is a versatile software development studio featuring a number of advanced programming facilities including project management, application wizard, interactive debugger, source editor, version control, GUI designer, profiler and many more tools. It focuses on providing a simple and usable user interface, yet powerful for efficient development. Anjuta supports programming languages C, C++, Java, Javascript, Python.

AWS Cloud9 – A cloud IDE for writing, running, and debugging code | Paid
AWS Cloud9 is a cloud-based integrated development environment (IDE) that lets you write, run, and debug your code with just a browser. It includes a code editor, debugger, and terminal. Cloud9 comes prepackaged with essential tools for popular programming languages, including JavaScript, Python, PHP, and more, so you don’t need to install files or configure your development machine to start new projects.

Integrated Development Environments – Python Wiki
IDEs with introspection-based code completion and integrated debugger. IDEs with introspection-based code completion /or/ integrated debugger. IDEs with integrated GUI builder.