PyCharm goes open source

pycharm_logo

JetBrains has announced that PyCharm 3, its Python IDE, is following the route pioneered by their Java IDE, IntelliJ IDEA and getting an open source community edition and a feature laden professional edition. The JetBrains idea is that the core features of an IDE, the editing and debugging, are better built in the open while they look at developing features that users can get a reasonable return on investment. “The ROI on code completion is huge” has been said by no-one ever while “Having the IDE handle my database models and framework integration has saved me hours” is a thing.

The differences between the two editions are listed in a comparison matrix. The shorter version is the community edition includes the smart code completing editor with error highlighting, code refactoring, integrated debugger and unit testing, version control integration and UI customisation options including VIM emulation with all of that under the Apache 2 licence. PyQt and PyGTK are also supported.

The professional version adds support for various Python frameworks, supports cross-language working (such as mixed JavaScript/HTML/Python development), remote host debug and testing and database support. Those frameworks include Django and Google’s App Engine. The professional edition starts at £76+VAT for the Personal version and £153+VAT for the commercial version.

Going open source doesn’t mean there aren’t any new features in PyCharm 3 though. The What’s New lists a fully featured terminal (so you don’t need to leave the IDE), new refactorings like invert boolean project-wide and replace duplicates, non-Python code injection, better analysis and improved type inference in both the community and professional versions. The professional version has acquired SQLAlchemy, Pyramid and Web2Py framework support, better Django code completion and duplicate code detection.

Download your preferred edition at the JetBrains site; there’s a 30 day trial for the professional version and you’ll need Java 6 or later installed along with Python 2.4 or later.