Hacker News new | past | comments | ask | show | jobs | submit login
JetBrains releases open-source Python IDE (jetbrains.com)
568 points by ternaryoperator on Sept 24, 2013 | hide | past | favorite | 211 comments



I'm fairly new to the Python world but I've been using PyCharm for a couple months now and it is absolutely amazing. JetBrains makes really great products, I've been a huge fan of IntelliJ IDEA (Java) for a few years now - converted many die hard Eclipse users over to it, and they never looked back.


+10. JetBrains PyCharm is the stuff. They make a fantastically solid IDE. Love that they've released a community edition. #winning


I agree. I've been using IDEA since early 2005. I am currently working on a project that requires me to use Eclipse, and it's almost unusable.


Retraining the brain is difficult in almost any facet. I tried switching keyboard layouts once, suffice it to say I've reverted to ye olde QWERTY.


For what it's worth, I used Eclipse for 3-4 years before Intellij (it was what my university introduced students to for programming in C++ and Java). Switching to Intellij was pretty painless other than initial configuration overload (since there's so much more built into it by default than Eclipse). Having to switch back to Eclipse at times for a few things since was not so much.

Intellij just as a much more intuitive UI and layout. Eclipse is fine if you're used to it, but it's much more dissociative by design when switching languages or usages than Intellij.


IntelliJ has such an ugly font rendering system on Windows that it makes it very hard for me to dump Eclipse. This prolly has to do with Eclipse's native font rendering.


Yeah, it's not too great due to relying on the JVM for rendering. I use Liberation Mono with it and it looks pretty good (even with anti-aliasing set to off). Everything else, not so much.

The top image[1] at the Slant programming font rank list[2] was a screenshot I took of Liberation Mono when using Intellij on Windows, just to give an example. I miss having bitmap fonts (which Eclipse does allow), but Liberation looks close enough to my favorite bitmap font (Dina), that I don't mind anymore.

[1] http://img59.imageshack.us/img59/3066/pythono.jpg (anti-aliasing was set to off when that was taken; italics suffer, but it's tolerable to me)

[2] http://www.slant.co/topics/67/viewpoints/26/~what-are-the-be...


But the Intellij editor has some noticeable deficiencies. You cannot tab out of auto-completed text (parenthesis, quotes, etc). This feature is a major time-saver and if you are familiar with this feature in eclipse/visual studio/sublime text, you can find yourself handicapped in Intellij.


Can you clarify what you mean? When I hit tab in visual studio it creates a tab in between a set of quotes

(e.g. Console.Write("blah blah "); )

It could be because I'm using resharper, but just curious what the feature is you mention.

Hitting the literal key that closes the completion (e.g. " or ) ) jumps out of the quote without adding another ) or " though.


Too late to edit my post, but you can complete the current line (in quotes or parentheses) by pressing ctrl+shift+enter, which jumps the cursor to the next line below. Works for Intellij or Visual Studio with Resharper.



JetBrains has actually open sourced the complete IntelliJ Community Edition IDE/platform:

see http://www.jetbrains.org/display/IJOS/Home and https://github.com/JetBrains/intellij-community

Incredible!


Furthermore, they are working on a cross-platform C++ IDE (hopefully using Clang for parsing): http://www.jetbrains.com/objc/features/cpp.html. I can't wait for the release.


Indeed, right on the page: clang!

"The IDE will be integrated with Clang Analyzer, so that more than 2000 code inspections and error diagnostics results from Clang compiler would be shown right in the editor. Of course, you also would be able to review them in a bulk mode."

I use QT Creator for C++ authoring today primarily because of the Clang integration. Pretty excited to see it well-implemented by JetBrains.


There's a difference between using Clang (Analyzer) to provide error reporting and using it for their own internal parsing (for refactorings, cross references, etc.). I suspect their internal parsers are all written in Java, but let's hope in this case the parser is just a thin wrapper over Clang!


Yes I cannot wait.

I recently started trying to learn some basic C/C++. My usual initial step in setting up an environment for a new language is to google "intellij plugin for X", so I was very disappointed to find that C/C++ is very poorly supported with respect to most other mainstream languages.

I ended up having to go with Visual Studio, which is also impressive, but there are features I miss coming from the Jetbrains world.


Using C++ professionally for a while now (College, grad school, embedded sw) the best two complete IDEs I've found are SlickEdit (Cross platform) and Visual studio. If you've not tried SlickEdit I definitely suggest it (They have a trial).

Additionally, they have an interesting blog post here describing whether they are an IDE or editor here:

http://blog.slickedit.com/2007/08/editor-or-ide/

tl;dr SlickEdit has no built in compiler or debugger. It's other IDE level support is fantastic though and it was perfect for embedded development work where you're building from the command line (Which you can connect to the SlickEdit Project) and debugging using GDB.


To be fair few IDEs support advanced functionality (like refactoring) with C++, due to the monstrosity that it is and the amount of UB.

Visual Studio + ReSharper is awesome for C#, IntelliJ is awesome for Java. For C++ you're pretty much screwed.


Clang is destined to change that.

http://clang.llvm.org/features.html#applications


Have you tried VisualAssist plugin for C++ ? I really liked it, it had many "resharpery" features when I was using it (around 2 years ago).


Why not try QtCreator then? It comes with GCC 4.8.1 for MinGW on windows if I'm not mistaken.


With this new JetBrains IDE, Unix toolset, Xcode, etc, OS X might finally become a strictly better C++ development environment than Windows. One can hope...


Just curious, what is lacking in Xcode for C++ development? I've a few years experience with C++ and I find Xcode to be quite nice and usable.


XCode is not cross-platform! It doesn't integrate with other build systems: autotools, CMake, premake, Scons, etc.


depends what kind of integration you're thinking of, I guess?

I assume you know of the 'External Build System' project-level support.

from a quick search: http://meandmark.com/blog/2011/10/using-makefiles-in-xcode-4...


Main things for me are the refactoring, code navigation (find usages is awesome!), and coding assistance. Check those out here : http://www.jetbrains.com/objc/features/


does this mean that it will be an intellij plugin (similar to the way pycharm is - as far as i can tell - intellij + the python plugin)? i hope so - it's frustrating being a (paid!) intellij user without c support.


Doesn't mention anything about open source.


Did you even bother looking? It states on the linked page that the code is under the Apache 2 License and the download page states it too:

Community Edition FREE

Lightweight IDE for Python development only

Free, open-source, Apache 2 license

Intelligent Editor, Debugger, Refactorings, Inspections, VCS integration

Project Navigation, Testing support, Customizable UI, Vim key bindings


I suppose Meai is referring to AppCode, which is a different product.


If so, my bad. :-)


Any idea on the release timeframe?


Google's Android Studio is based on that, I think.


google changed from eclipse to intellij IDEA because it just supported android so much better (imho), even before the switch!

I m constantly amazed at the quality and integration IDEA has for everything - from google appengine, gwt, spring/javascript/css/html, to heaps of templating languages…the list is endless….


You are correct that it is.


I've been using the Anki[1] spaced repetition system to quickly get up to speed with the PyCharm key bindings.

I've been using the JetBrains screencasts[2] to get up to speed with the IDEs features. Although these are too thin on the ground currently and i confess that i keep getting distracted by the JavaScript / AngularJS videos! The presenter on those i find draws me in more. Some of the PyCharm videos don't even have narration.

I have explored the Flask integration which was better than i expected but not life changing for me.

VirtualEnv integration is well enough, but PyCharm <--> command line <--> virtualenv integration is not ideal yet. Getting virtualenvwrapper and PyCharm playing nicely together was more work than i anticipated. PyCharm doesn't make it easy to be notified about newly created virtualenvs.

I feel all the default templates for modules and test files are not ideal for me, i ended up replacing them with my own templates. The only reason this even registers with me is because some less experienced Python developers persevere with the default PyCharm templates and end up with __author__ and other cruft in their modules.

The internal jetbrains supplied static validation (Pep8 / PyLint) functionality doesn't appear to be vanilla pep8 / pylint. This is only a minor issue but i don't like that there are potential violations i don't see until i've pushed to Jenkins and viewed the reports there.

I intend to push further with PyCharm, i'm open to the idea that there's productivity benefits to be had with python from an IDE that are not available to me in vim - although i strongly advocate the JEDI plugin with VIM, it's leaps and bounds over the old ROPE system IMO!


Wow. I use Anki to learn human languages and lower-level stuff. Language bindings? I am not sure whether to consider you a masochist or a hero!

Do you have a write-up on how you are doing this?


(You forgot your footnotes)




Ahh thanks, yep these are the ones. The videos on that docs link lead to the place i was thinking of: http://tv.jetbrains.net/channel/pycharm

I missed footnotes for JEDI too https://github.com/davidhalter/jedi


> The internal jetbrains supplied static validation (Pep8 / PyLint) functionality doesn't appear to be vanilla pep8 / pylint.

It's a completely separate system (which also supports quick fixes and suggestions). PyCharm has built-in support for running pep8.py (though not pylint apparently, you'll have to do that yourself)


If you are a Vim fan, try using IdeaVim plugin with PyCharm. Plugins can be installed directly from the in-IDE plugin library.


I'm a fussy bugger sometimes :-) Over the years I've learned to shy away from vim plugins.

In my experience they're always missing a crucial motion or two and it just becomes counter productive for me to keep stumbling into the missing command. I think it's the curse of vim, we all use different subsets of its abilities!

Another factor is the vim layer tends to be incomplete in terms of functionality exposed by the host application. ST2's Vintage mode (which i did play with) is a good example of this problem.

EDIT: brain fart


Same. With the sole exception of ViEmu, every other Vim simulator seems to disappoint. E.g. Emacs plugins that simulate Vim.


netbeans's jvi is essentially a straight port of the vim code to java, and is therefore remarkably complete.

also emacs's evil mode has come a long way.


Thanks, I'll check them out. Here's to hoping.


I tried to like IdeaVim, but simple things like undo/redo were broken by the mix of vim and intellij shortcuts. When even the basics don't work...


This is a known problem. The multiple undo actions per single 'u' command bug has been fixed recently. The updated version of IdeaVim will be released soon. We have been working on making IdeaVim more stable, see the changelog https://github.com/JetBrains/ideavim/blob/master/CHANGES.md.


Very glad to hear that. Thanks.


You could try remapping shortcuts to your liking.

JetBrains products have awesome personalization capabilities.


I'll happily continue to pay for PyCharm even now that it's open-sourced (I re-upped for another year last week, and don't feel like I missed anything by not waiting for this). Aside from the fact that the Pro version has some killer features - Django support, remote interpreters, diagramming, and a .less editor - these guys deserve to be paid for an outstanding product.

I'm sure I could assemble a tool chain that does 90% of what I love about PyCharm in vi, but I'm a-OK with having my company pay $200 to have someone assemble that for me (or $100, if they didn't pay for it). In the same way that some people - but not me and my Lenovo - will pay extra for a shiny metal computer that just works, I'll pay extra for an IDE that gets out of the way when it should, and gets in the way it needs to.


Download link for linux version is busted. Here is the correct one (from trial and error):

http://download.jetbrains.com/python/pycharm-community-3.0.t...


Speaking of linux, has the 64bit version improved at all? Everytime I try it out I can't stand it more than a few minutes and revert to Eclipse. (previous discussion: https://news.ycombinator.com/item?id=5201366).


If you do hacks then its absolutely ok (for me at least).

(I'm the author of the last comment in your linked thread). The idea is to take a font and modify it by stripping all the hinting info.


Does this mean that the PHP, Ruby, and Obj-C versions will be seeing community editions soon as well?


No, this is very unlikely. (JetBrains CTO here, by the way.)


Out of curiosity, can you explain why you created the community edition for PyCharm, but not others?


First, with PyCharm there is a possibility to have both a community edition which covers a sufficient breadth of scenarios and a good value-add for the professional version to make it commercially attractive. This wouldn't work for other products.

Second, we're specifically mentioning that we want people who first start to learn programming to have access to our products. And a lot of learning these days happens with Python specifically.


Awesome! I think you guys are going to be for Python what Eclipse was for Java about a decade ago. I'm a paying PyCharm customer, and I absolutely love it. The pace of development is excellent too.


Thank you! learners need IDEs too!

(not a learner, but back when I coded .NET I couldn't have lived without resharper. Quite excited that I can use PyCharm now too!)


I was wondering how it's possible that IntelliJ is free for Android development? What drives the decision making to make one product free and the other paid? In a way I like paying for RubyMine, hoping that it won't be discontinued in the long run, although I'm guessing IntelliJ has a much larger user base.


The reasons for the decisions are different each time. As for Android, we felt that IntelliJ IDEA Community Edition didn't have as much uptake was we had expected, and we thought that adding Android support to CE would be a great way to make it more attractive without endangering the revenue that we get from selling IntelliJ IDEA Ultimate to enterprise customers.

Of course, with the Google partnership that came later, the decision turned out far better that we had originally expected. :)


Android Studio is a rebranded version of the Community Edition of IntelliJ IDEA which was free and open source for some time already.

The idea probably is to get the people to use (and love) it and then when they want the non-free features, to buy it.

And with Android Studio: Probably Google is paying a bit for the development.


Google is not paying anything for the development of Android Studio. Instead, they've put their own development team to work on the Android features in Android Studio, which we then integrate into our distribution of IntelliJ IDEA.


Thanks for clearing that up!

And thanks for such a great IDE!

So if I'am using Android Studio I am a bit ahead (Android specific) feature wise that by using the latest EAP of IntelliJ IDEA?


Afaik the Android IDE is the official Android IDE now and supported by google, thats probably why its free!


It's actually the other way round: it could become official and supported by Google because we had released it for free before that.


thanks for clearing up..i thought you guys had some sort of collaboration that yielded in the free Android IDE but this is even better. Well deserved!


Will there be a Go edition, or at least an official JetBrains Go plug-in for the community edition?


Possibly at some point. Right now we aren't working on Go support and don't have any short-term plans to start.



Totally understandable. I would rather JetBrains do well than be greedy and demanding a "free" version.


and it isn't very expensive either (for a professional coder that is).


Heads up, on the Download page "CoffeeScript" is misspelled: http://www.jetbrains.com/pycharm/download/


Thanks! Will fix.


Props for even posting on HN. Perfect example of marketing "doing it right TM"


The link wasn't posted by anyone from JetBrains as far as I can see. But we do always watch comments on Reddit and HN for the discussions of our stuff.


$50/year for the personal edition is a bargain, great product.


Love your products! Love them! I buy WebStorm and IntelliJ IDEA whenever you release a new version. I'm using EAPs for both and while there are some slightly rough edges here and there the products are stable and much better than the already great previous versions. I follow Kotlin and when I have time intend to use it... point is y'all do really great work. Thank you!

Forgot to mention: I also use Android Studio too.


Will the Python plugin for IntelliJ IDEA work in the community edition?


Yes, there will be a version of the Python plugin compatible with the IDEA community edition.


Hey dude, you rock,your products are awesome! just wanted to say thanks.


They provide an edition comparison matrix[1] that mentions the only languages supported in the open-source version are:

Java, Scala, Groovy, Clojure, XML, XSD, DTD and Regular Expressions.

So unfortunately not. They do offer free open source project licenses though if you're working on an opensource project, or even 50% off of commercial licenses to startups.

http://www.jetbrains.com/idea/features/editions_comparison_m...


The link that you provided is for IntelliJ and not for the separate products that the GP is referring to (AppCode for ObjC, RubyMine for Ruby and PhpStorm for PHP).


And yet this thread is about the Python open source version, missing in the list


Kotlin is supported as well.


Even better would be a ReSharper Community Edtion :D


Does it support multi-selection, Sublime style? I just can't use an editor without it anymore.

This is a bit OT, but Komodo got an update some days ago with multi-selection support, which I was quite excited to try. Only to find out their implementation is quite frankly useless.

http://www.activestate.com/blog/2013/09/komodo-8-5-release

'Right-click in the editor and choose "Select --> Multiple Selection --> Add", then use Ctrl+Click (Cmd+Click on Mac) to quickly make additional selections.'


Most cases where you'd need multi-selection you can likely use Refactor in an IntelliJ IDE.


I just created a model from a table with over 20 columns. A few days ago I had to hardcode a list of settings I screenscraped into a JS array in the Chrome console. You can't refactor things like that.


For those sorts of things I think it's completely reasonable to drop into emacs, vim or sublime and then just copy paste back into your primary IDE.

When it's a text editing operation that you're trying to do (as opposed to a defined transformation on valid source) then it makes sense to use a text editor.

I keep emacs and intellij open usually.


You should.

But there is also column selection mode.


A sibling mentioned refactoring, but one thing I also use a lot is column-mode editing. It's something you can toggle just like you can in Eclipse, and can be very useful. Not quote as useful as selecting multiple regions to edit, I agree, but still very good.

For me, the killer things in PyCharm are the excellent Python library support, and the fact that it indexes my codebase so that "Where is this defined?" is extremely fast. That is the feature I use all the time which is less convenient to do with many other editors.


The default key binding for column mode is Alt-Shift-Insert.


if you have a middle mouse button, you can press the middle button to do column edits, column paste/edits.


If you would have actually looked in the menu, there is a default shortcut.

CTRL+K,CTRL+Y to mark current selection (or if no selection word under cursor), then CTRL+D to map next occurence.


By multi-selection do you mean putting multiple things in the buffer? Because you can do that if you use Vim mode (using the standard multiple buffers of vim).


Excuse me if I'm being naive, but does Python development need an IDE? In what ways could it be helpful? I'm under the impression that Python is not compiled generally.

I'm coming from the Ruby point of view


> I'm under the impression that Python is not compiled generally.

The direct ancestor to today's IDEs are Smalltalk environments. Smalltalk is about as un-compiled as you can get. This and that are completely orthogonal concerns.

> In what ways could it be helpful?

Navigation across projects (via structural searches or hyperlinking), static analysis (including library- or framework-specific e.g. PyCharm knows some strings have specific meaning in django projects and can check that there's no mismatch), refactorings, documentation, visual debugging, ...

Some of it can be replicated with extensively customized editor and a multitude of external tools, others not really.


IDE's are used for more than just building the code; they provide UIs for debugging capabilities, code completion, syntax highlighting, refactoring support, VCS integrations, and much, much more. That said, I do my python development in Sublime Text using the Jedi autocomplete library (https://github.com/davidhalter/jedi).


I've tried a lot of IDE's for python development in the past and always went back to a basic text editor; the extra features never outweighed the bloat.

But then i found PyCharm and never looked back. I feel i develop at least 50% faster with any serious project; i still use Sublime for the one-off scripts, but everything else i find the introspection, code completion and refactoring just so good its now hard to go without.

Props to Jetbrains, and I look forward to v3 pro! (my 2.7 isn't yet telling me i have an upgrade... i'm hoping this is coming soon!)


Same boat here. I got PyCharm when it was on sale last year. Never looked back. I enjoyed setting up my viertualenvs, having multiple projects open, source code navigation. And then to top it off, all the Javascript/Html/css editing stuff as well. All in an easy to setup package. Rich set of plug-ins, too.

Note: I still use my other text editors for one-off file editing and such, but PyCharm is my control center for the projects...


See my question above. You don't need your 2.7 to tell you anything. If you've got a license you can simply install the 3, import the settings and use the same license.


If memory serves, this will install it side-by-side with existing install, whereas doing it in-app upgrades (windows). Could be wrong though.


Just use the "help"->"check for update".


IDEs allow you to treat your entire project scope as one big ass open file. You can refactor, autocomplete, click-through, etc. in an entirely natural way that text editors cannot do (out-of-the-box).

This is a gross oversimplification, but it's how I sold a few of my friends on Jetbrains during their Apocalypse sale :)


PyCharm can show color your code based on style checks (pep8) or compatibility with python 3. This helps me notice typos and mistakes more easily, as well.


I'm not a Ruby programmer, but I agree with your sentiment. I find an IDE for a language as lightweight as Python to be overkill.


It is overkill until you start to build something like http://gridspy.com (entire web stack in python)

I find it extremely helpful to have symbol lookup in my own codebase, suggestions, fast file opening and the ability to have useful highlights in Python, Html, coffeescript, javascript, css, et al.


Ruby devs don't understand the need for interfaces or type-hinting either, so this doesn't surprise me. But then they go and try to make fun of PHP.


b/c type hinting in PHP is a wishy-washy half feature typical of the language. Python engineers don't understand type hinting either -- and we like it that way. Because if it walks like a duck and quacks like a duck, treat it like a duck.


It's not a half feature. But yeah, I can see that "engineers" like you don't understand it. The same duck metaphor is stupidly used to criticize interfaces. And then you have everyone trying to use hacks to get around this issue, usually people who do understand what "design by contract" is, but for some reason don't want to leave Ruby. Just google "ruby interface" and see for yourself. This problem won't go away until people like you stop spreading lies to justify the lack of features (eg: "Hurr durr, Java needs interfaces because it's too rigid, Ruby doesn't need that, lol!").


The test runner alone is worth the cost of entry.

You do write tests, right? :)


I've bought the 2.7 version a couple of months ago and I don't regret it, but does anyone know if the 3 (pro edition) will be available as a free update for people like me ?

I've read on the site that people like me are supposed to receive a free update by email, but i didn't see anything... Anyone in my case ?


From the site: "PyCharm license is permanent and includes one year of free product upgrades since the purchase date, including even major version upgrades."


Yes, that's the line I read as well, but nothing in my mail. So i was wondering if someone did receive that update by mail, or if it's just too early.


You won't get any mail, there is no reason for one. If you license is less than 12 months old, download PyCharm 3, enter your license again and off you go.


What exactly do you expect to get in your mail? Just install the new version and import the settings from the previous one, and it'll work with your current license.


Ok, cool.. I read this line wrong apparently : "PyCharm license includes the initial 1-year upgrade subscription qualifying you for the receipt of the new product releases and technical support (available via email only) free of charge"

Didn't realize the "via email only" concerned the support only. (non-native english speaker here).


That's quite understandable, I'd say it's pretty ambiguous.


I own personal licenses for Idea, RubyMine, and PyCharm - all amazing good products.

Where I am working now, Eclipse is the supported environment so I am using it. OK, but not as good...

BTW, when they open sourced Idea for Java, I was pleasantly surprised how easy it was to build. Nicely packaged.


Is there any point in owning a license for IntelliJ and RubyMine/PyCharm? I thought that IntelliJ Ultimate had all the features of RubyMine and PyCharm but I haven't used them so I could be mistaken.


You are correct, Ruby and Python plugins add most of RubyMine/PyCharm features to IntelliJ IDEA Ultimate. You may want to have separate IDEs if you need more lightweight environment. RubyMine & PyCharm are in general updated more frequently too.


RubyMine and PyCharm feel more light weight, meaning quicker and less resource use.


Is this preferable over ipython/pylab notebooks for math/scientific python programming?


For exploratory interactive programming and shorter scripts, not really. For building larger more complicated systems, very much so.

Personally I use both, continuously switching between the two. I play around in ipython/pylab until I've gotten all the algorithms and details worked out, and then use Pycharm to add that code to the larger library or application which those algorithms will be a part of.


I feel like IPython is better for sharing your final analysis but I do all of my coding/development in Emacs + python-mode and haven't been able to figure out all the hype around IPython. And once you start with Pylab it becomes difficult to map your functions back to their original namespaces (especially since many are redundant between numpy and scipy) in a bigger project, so I stopped using it altogether. Could you explain a bit if I'm missing the point?


What entrypoint are you using to run your programs? REPL function calls / test runners / main methods from the CLI / local web server w/browser? I think understanding that matters the most.

If you do a lot of development in the REPL (i.e. exploration), then that is where iPython (in a notebook, or a shell) really is nice. If you don't, then you may not see the benefit.


Thanks for the response.

I primarily program with python for shell scripting/text processing, or data analysis/simulation with numpy/scipy/pandas.

I do a lot of exploration, I rarely ever type anything directly in the REPL/interpreter - I write all my code in scripts and send them to the REPL with emacs keystrokes. Afterwards, I'm left with a script that contains my analysis/processing method. (never had a local web server running except when playing with emacs ipython notebook).

Am I possibly missing a way to do it better?


Am I possibly missing a way to do it better?

I find ipython with its magic commands and ability to directly call shell commands more handy than the standard REPL for interactive shell type scripting.

Other than that, not really. Inline graphs are nice if you like that sort of thing, and some of the magic commands are occasionally useful. But beyond that I don't think you'll gain much if you have a approach that works for you.

I also gather that ipython's parallel processing tools are pretty powerful, but I've never really played with them.


Are direct shell commands that useful...? I either have a shell running in emacs or in a separate terminal that I can quickly switch to. I've heard about the parallel processing tools, but sounds like I'm doing alright with emacs. Thanks much.


Anybody using IEP[1]? I found this gem a few weeks ago, and never looked back. IEP is my de-facto idle/ipython replacement.

[1]http://www.iep-project.org/


Is it a multi-language editor? I.e. can I switch between html, javascript and python and expect to have a similar interface, commands, API, etc. ? If so, it looks like a strong contender against Sublime IMHO.


PyCharm Community Edition does support HTML but does not support JavaScript or CSS. PyCharm Professional Edition does support HTML, JS and CSS (and many dialects thereof).


Their paid version is. At this point, the community version seems to be Python only.


No. JetBrains has a different product for Javascript and/or HTML development: http://www.jetbrains.com/webstorm/


The paid version of PyCharm has the web stuff.


So if you're using Django or Flask and need Javascript and HTML/CSS you still need the professional version?

Also is the professional version any of the paid licenses on this page http://www.jetbrains.com/pycharm/buy/index.jsp?

It's just that the term "Professional Version" is used to differentiate it from the "Community Edition" on all the informational pages and then the terms are not used anywhere on the Buy page.


If you pay for it, it's a Pro version.


    bin/pycharm.sh 
    ERROR: Cannot start PyCharm
    No JDK found. Please validate either PYCHARM_JDK, JDK_HOME or JAVA_HOME environment variable points to valid JDK installation.
I wish this had been mentioned up front, before I spent all that time watching videos and such. :/ Nothing against java per se, just that it's a giant runtime/security-surface that has no bearing on my Python work.

I'm still happy with Geany, gvfs, meld, and terminal, etc... though they might not be as flashy. :)


JVM security concerns are irrelevant when you are running a desktop application. You aren't running it as root, and you aren't executing arbitrary code as if you were running applets.

If arbitrary code is able to access the JVM on your computer, then you already have arbitrary code running on your computer.


Ok, though I still believe "less is more". Also prevents my browser from doing anything clever, like enabling the browser extension behind my back.


If you're truly worried about the second point, to run JetBrains software all you need is to download the jvm somewhere on your system (it's just a directory) and set the JAVA_HOME variable before starting it:

export JAVA_HOME=/my/install/dir; bin/pycharm.sh

There is really no conceivable way that your browser would be scanning your operating system looking for a downloaded JVM (if it does that, it's not a browser, it's a virus.)

If you truly are religiously against jvm it's w/e to me, but the security concerns are not valid.


Sorry, not going to set up a custom runtime for an editor. Note the "giant runtime" concern I put first.

I'd use the system java/browser which has an extension available, no need to scan. FF just enabled javascript for everyone without their permission, and Chrome does plenty of shady things. The fewer software installed, the better. I prefer to stay far away from potential security problems, with multiple hurdles whenever possible. If it makes you feel better I don't install flash or ruby either unless the situation calls for it.


imo you are making huge tradeoffs for very little benefit, as there is no such thing as a 100% secure system anyway. But still its your decision, to each their own.


I learned this paranoia while running Windows XP through the 2000's and I can tell you it served me very well. While others were rebuilding their systems I was working.

I realize Linux in 2013 is not so dangerous, but take a gander at recent java security bulletins when you get a chance anyway. Steve Gibson recommends not even having it installed if you don't need it (I don't) and that's good enough for me.

Also, I think you may be overselling the trade-offs. I've not been inconvenienced in the last decade of avoiding java, as far as I can remember. On occasion I will install random things into a VM for temporary experimentation.


> I realize Linux in 2013 is not so dangerous, but take a gander at recent java security bulletins when you get a chance anyway.

Off the top of my head, all of the recent serious vulnerabilities were applet related. The JRE doesn't require a Java plugin for your browser, no plugin, no applets.


>I'd use the system java/browser which has an extension available, no need to scan. System java? Which OS (barring Oracle Linux) ships with JRE pre-installed? Browser extension for Java? I assume your familiarity about the Java ecosystem has not been updated since HotJava (or whatever it was called).


sudo apt-get install ...


Same here, though I've been following JetBrains for a while. I wish there was some way they could port it to OS X without depending on Java.


There is no way they would 'port' away from Java. JetBrains has been building this platform for more than a decade. This is what has allowed them to support many operating systems concurrently and with great results. No need for the FUD on Java. Java is really what they excel at.


Nah, why OSX only? I'd welcome them porting it to LLVM Clang, so that we can run it on all platforms with more speed and natively. Linux ftw :)


Why does it matter? You can't even notice it's java except having to have it on your system. And why is having it a bad thing? The security issues are the browser plugin, not the JVM.


On the other hand I love using Pycharm on Windows and Linux. I also love the fact that should I choose to use a Mac, Pyharm would be working just the same.

IntelliJ IDEA product familly is really well done. They do not feel javan at all.


Am I the only person thinking that any Java-based IDE demos have been sped up by the magic of editing by at least 200% and all the SBBOD-ing has been trimmed out?


Python in general is an awesome fun language to work in this just makes the language even more better and fun to work with. Thanks JetBrains!


Hm, so I just tried it. I have the latest Mac mini (i5 8GB RAM), and it was slow. Switching between files, highlighting lagged. Typing was stuttery. Next, I couldn't change the font, it was just not selecting. So, looks like cool software, but I went back to Sublime Text 3 with lint extension.


If it's the same as IDEA, you need to create new theme before font change is available.


It is.


I'd love to know why the OSX version is bugging me to install X11 all the time. /peeve


PyCharm is amazing, and it can only get better with this announcement. The only issue I have with it is the huge amount of memory it uses. It uses >1GB of ram on my macbook air, and using pycharm for extended amount of time makes it sluggish.


If you can reproduce the problems, please submit a memory snapshot as described in http://devnet.jetbrains.com/docs/DOC-1212


Read some comments here and feeling bad that I spent the past ~6 years using eclipse.


It's already available in the AUR:

https://aur.archlinux.org/packages/pycharm-community/

Someone is working on Debian packages for it?


It requires the Oracle JRE, so I don't see how Debian could provide packages for it without a ton of weird hoops to jump through. I tried it on OpenJDK and it chokes.


Considering the growing number of coders out there that usually start with a language like python or js, this is kind of an obvious thing to do. (more so than trying to compete with netbeans/eclipse)


What an amazing coincidence, I started learning Python last week and was trying my hands on PyDev. Yesterday when I saw this news, I immediately downloaded PyCharm and now I am loving it.


Adding PyCharm to the collection of products is awesome. I do wish JetBrains would offer some combined licensing. Since I have a tendency to use quite a few of their products.


Where are the sources? I can't find a link to them


The source code of PyCharm Community Edition will be added to the IntelliJ IDEA Community Edition repository in the coming days.


The .exe download is blocked at the office.

Is there a .zip version available?

I also assume the installer doesn't require administrative privileges... Am I right?


There doesn't appear to be a .zip version. They have zip versions of the Intellij so they may add it if you do a feature request. The installer only requires admin to install to the Program Files. If you say no, it installs to your local user location (in Roaming).


Ah, interesting. Thank you.


Managed to download, then installed in alternate location as non-admin. Working good so far.


It does require administrative privileges in my experience.


Bummber. Oh well. I stay Idle.


How does this compare with pydev? http://pydev.org/


Well, at the risk of providing a not very detailed answer: it's better, in my subjective opinion.

Better at code introspection, better at refactorings, better at debugging. Also, I prefer the UI.

Of course, you're the final arbiter of these things for yourself, so give it a short.


The title seems misleading - the IDE is not opensource, but they offer free license for opensource projects.


Nope, they're now offering PyCharm Community Edition which is free to use for all and open source under the Apache 2 license.


So they actually did opensource it. Sorry, my mistake. Now the news is even better :)


Have you found the link to the source? I can't find it and so curious :)


The source code of PyCharm Community Ediion will be added to the IntelliJ IDEA Community Edition repository in the coming days.



The source code of PyCharm CE will be available in the https://github.com/JetBrains/intellij-community repo under Apache 2 license in a few days.


Congratulations! JetBrains did it again!


Great... Now I really can't choose between PyCharm vs Sublime+iTerm2+SourceTree...


Is it just me or the font selection option under Windows is rather convoluted?


It is, sorry about that. We plan to change the UI back to a simpler version in one of the coming updates.


pascal is making a comeback with free-pascal and lazarus i wonder if it will catch their attention

all free-pascal need now is a decent web-framework, but for desktop apps, i think its one the best options at the moment


Still waiting for Grok. This should really be done once for all editors.


Just tried Professional one on OSX, CPU goes above 100%.

Anyone having same issue?


Well, It's a multi-threaded program, and when you create a project it will start out by indexing everything. So while it's doing that, it can spend quite a lot of CPU time -- "top" etc. typically show the CPU time spent by all the threads in a process, so you can easily see it go up to N * 100% based on your cores.

That can get occasionally annoying, if you drop in a a bunch of 1mb text files in your repository and it insists of examining them.

But, introspection and refactoring capabilities are great.


> That can get occasionally annoying, if you drop in a a bunch of 1mb text files in your repository and it insists of examining them.

You can right click the directory and mark it as excluded from the project. We have an integration test suite that likes to emit gigabytes of XML into its local directory - which IDEA happily tries to index. Excluding it saves me a lot of CPU time.


Does it stay there all the time? CPU going above 100% during indexing and inspections is normal; we use multiple cores to complete the operations faster.


Webstorm will be open-source any minute now...


If you look at the feature comparison matrix, you'll see that the Community edition specifically excludes the features which are part of WebStorm. So no, don't hold your breath.


now that's pretty AWESOME ! while eclipse supports python, it feels like a dinosaur. Jetbrains ide is the sh|t ! Thanks guys.


[deleted]


First of all, the team being young could refer to the age of the team and not the employees' ages. Either way, are you seriously that uncomfortable about your current age that this stands out to you?

Have we become so PC that noticing that your company is young and then saying your observation out loud or typing it with your keyboard is now discrimination?


So, would calling it a "friendly, white team" be merely an observation and only a problem for PC people who were seriously uncomfortable about their own race?


"young team" != "young people"

A "young team" can also mean a team that has not been together for very long.


Yes, but that's not the most likely interpretation. Teams are new, people are young. Of course, it's possible that "new" was meant, but it's a lot more likely that they were describing the attractions of the people on the team, not the organization's friendly newness.


Perhaps in the US, yes, but that might not be the case in the Czech Republic where JetBrains is headquartered.


It's a description of a given situation, not a requirement for the job. If this is discrimination, then also the fact that the job is in Russia is discriminating the US job seekers.


That's not discrimination, that's just a description.


Unfortunately, PyCharm's pyconsole is a copy-and-paste job of Eclipse PyDev's pyconsole, and it is quite buggy and lacking in features. This is quite disappointing since I have high expectations for any JetBrains product. I was hoping that JetBrains had the effort to properly implement REPL work flow in their IDE instead of copying the code from its competitor (heck, I just took a look at PyCharm's pyconsole code, and the code still mentions Eclipse)

The above probably is not a deal breaker for many people, but just as many people indeed use Python as REPL, so I would like to see more improvement.

Otherwise, no problem with the software so far that I have tried. Thanks, JetBrains.


Our code is a fork of pydev's implementation on the back-end and our own implementation on the front-end, and we've made many improvements to pydev's code since the fork. If you find anything lacking, please file feature requests to our issue tracker.


Thanks for your reply, and I stand corrected regarding calling the work a copy-and-paste job.

Out of my curiosity, I was wondering whether you could explain why pydev was chosen to be the base work.


Oh look, another community edition program. "Open core is the new shareware."

http://ebb.org/bkuhn/blog/2009/10/16/open-core-shareware.htm...


From the article:

And, this is true whether the Core is GPL'd or permissively licensed. In both cases, the final story is the same: take a proprietary license or be stuck with cripple-ware.

Except that IntelliJ Community Edition is a perfectly usable and able IDE already. In fact, Android Studio is based on it. Certainly not crippleware.

And in this case I very much like this model. InteliJ CE is open source software under the Apache License version 2.0. If JetBrains would disappear tomorrow (hopefully not!). A non-profit project or another company could continue where they left off.

That said, I am a very happy user of the Ultimate Edition :).




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: