# PyCharm

PyCharm is an integrated development environment (IDE) used for programming in Python. It provides code analysis, a graphical debugger, an integrated unit tester, integration with version control systems, and supports web development with Django. PyCharm is developed by the Czech company JetBrains and built on their IntelliJ platform.
It is cross-platform, working on Microsoft Windows, macOS, and Linux. PyCharm has a Professional Edition, released under a proprietary license and a Community Edition released under the Apache License. PyCharm Community Edition is less extensive than the Professional Edition.

## Features
### In both versions

* Python coding assistance and analysis, with code completion, syntax and error highlighting, linter integration, and quick fixes
* Project and code navigation: specialized project views, file structure views and quick jumping between files, classes, methods and usages
* Python code refactoring: including rename, update function signature, extract method, introduce variable, introduce constant, pull up, push down and others
* Integrated Python debugger
* Integrated unit testing, with line-by-line coverage
* Virtual environment, build tool and package management
* Embedded terminal and Python console
* Docker support
* HTML, XML, JSON, YAML, Markdown support
* Spell- and grammar-checking
* Version control integration: unified user interface for Mercurial, Git, Subversion, Perforce and CVS with changelists and merge, integration with GitHub and GitLab hosting services

### Only in the Professional version

* Scientific tools integration: integrates with Jupyter Notebook, supports Anaconda as well as multiple scientific packages including Matplotlib and NumPy.
* Front-end and back-end web development: special support for Django, Flask, FastAPI and Pyramid, CSS and JavaScript assistance, Npm, Webpack and other JavaScript tools
* SQL and database utilities
* Cython support

## History

PyCharm was released to the market of the Python-focused IDEs to compete with PyDev (for Eclipse) or the more broadly focused Komodo IDE by ActiveState.
The beta version of the product was released in July 2010, with the 1.0 arriving 3 months later. Version 2.0 was released on December 13, 2011, version 3.0 was released on September 24, 2013, and version 4.0 was released on November 19, 2014.
PyCharm became open source on October 22, 2013. The open source variant is released under the name Community Edition while the commercial variant, Professional Edition, contains closed-source modules.
As of December 2022, JetBrains has discontinued PyCharm Edu and IntelliJ IDEA Edu. The educational functionality is now bundled with the Community and Professional editions of IntelliJ IDEA and PyCharm. Users are encouraged to install the Community or Professional editions and enable educational features through the IDE settings.

## Licensing

* PyCharm Professional Edition is commercial, proprietary software and is gratis for open-source projects and for some educational uses. It is paid on a subscription basis, though after paying for one year a "Perpetual Fallback License" will be granted for the version which was available one year before ending the subscription.
* PyCharm Community Edition is distributed under Apache 2 license. The source code is available on GitHub.

## Criticism

The PyCharm Python IDE does not feature an GUI builder for now.
While there is no native GUI builder provided within PyCharm, by using PySide6/PyQt6 (the Python bindings to Qt V6) one gains access to the Qt Widget Designer graphical UI builder. This is currently available with the PyCharm community edition and provides an advantage over the use of tkinter which is bundled natively with Python and does not offer a GUI designer tool.