Skip to end of metadata
Go to start of metadata

The suggested theme for the release is "Intelligence for third-party libraries"
Release date: September 24th, 2013

  • (tick) SQLAlchemy support (ktisha)
  • (tick) web2py support (ktisha)
  • (tick) Pyramid support (ktisha)
  • (tick) Configurable language injection (IntelliLang) (yole)
  • New refactorings for Python (ktisha)
    • (tick) Move Function (already implemented move function to another file)
    • (tick) Invert Boolean
    • (tick) Replace duplicates in Extract Method
  • New intentions (ktisha)
    • (tick) Convert static method to function
    • (tick) Convert method to property
  • New inspections (ktisha)
    • (tick) Redeclared function/class/method (vlan)
    • (tick) Shadowed name from outer scope (vlan)
    • (tick) Instance attribute defined outside _init_
    • (tick) Access to a protected member outside the class
    • (tick) Class or its parents has no _init_ method
    • (tick) Assigning function call that doesn't return anything (None)
    • (tick) Global variable undefined at the module level
    • (tick) Method could be static or a function (+ quickfix)
  • (tick) Duplicate code detection integration (ktisha)
  • (lightbulb) Django code insight improvements (yole)
    • (tick) Completion in templates used from class-based views
    • Better ORM handling (.q etc)
    • Code insight for Django forms
  • (tick) Code insight improvements for Python GUI toolkits (ktisha)
  • (tick) Custom skeletons database (vlan)
  • Smarter code insight (vlan)
    • (lightbulb) Better completion after dot when type before dot is unknown
    • (tick) Support for negative assertions and qualified name assertions in DFA-based type inference
    • (tick) Return type inference based on argument types
  • (tick) Variable explorer in Python console (traff)
  • Maya support (traff)
    • (tick) MayaPy flavor
    • (tick) Send to Maya action
    • (lightbulb) Skeletons generation
    • (lightbulb) Remote debugging
  • (tick) Embedded local terminal (traff)

(tick)  - Feature Implemented
(question)  - Under Investigation
(lightbulb)  - In Progress

  • No labels


  1. Why is the next version called 3.0? There's nothing significant in this roadmap to deserve a major version change. Are you planning to add more to this list?

    1. Well, if you think that all of the changes that we've made since version 2.0 do not deserve a major version increase, then I'm afraid we won't be able to ever match your expectations. (smile) The major version number does need to increase at some point - we can't be releasing 2.x versions forever.

      There might be a few additions to the list later, but nothing really ground-breaking.

      1. There's no need to be sarcastic, Dmitry. I specifically asked about 2.7 to 3.0 increase, not about 2.0 to 3.0. Major version upgrades usually correspond with major functionality changes.

        1. Oleg, your question is correct, because such major version increase can be confusing indeed.

          Please consider this version change as like linux kernel versions changed from 2.6.39 to 3.0 at some point of time, without even any minor change. We really can't increase 2.x versions forever, and in this pretty long round of PyCharm 2.X we have done much. Changed everything since 2.0... from functionality till appearance. Underlying platform has changed a lot through this time. The picture of PyCharm now is completely different from 2.0 version. We are trying to deliver every new feature and good ASAP, so we publishing releases, EAPs, RCs pretty often - thats why changes are not so contrast from version to version. So long time passed since 2.0 thats why it is right time to create PyCharm 3.0. In this new release we additionally provide intelligence for bunch of third libraries and frameworks, and concentrating on robustness and stability of PyCharm - pretty major changes. Aren't they?

          I hope i answered your question, anyway if you have something additionally, i'll be glad to answer. Thank you for your curiosity!

  2. Will you implement sublime-like multiple cursors support?

    1. We're seeing a lot of demand for this feature, and it's very likely that it will be supported in a future version of PyCharm. However, it will be implemented by the IntelliJ Platform team, whereas this roadmap covers the work that will be done by the PyCharm team.

  3. Hey Jetbrains and the PyCharm team.  As someone who sits in PyCharm and Maya all day long developing tools, the Maya support on track for 3.0 is really great to see.

    Remote debugging already works really well, but making the integration even smoother will be very welcome.

    But to me, being able to send a remote command to Maya will be the nicest addition, to the tools.

    Just wanted to speak up with my support and enthusiasm for the next release!

  4. Is Django template support for class based views and generic class based views on the roadmap? I think it's the only weakness I see in PyCharm right now. If it's not on the roadmap and hasn't been requested consider this a request!

    1. There is some support for class-based views already. Please file an issue at describing in more detail the specific functionality you would like to see.

      1. As far as I can tell there is no code completion in templates coming from generic class based views. It doesn't seem to be aware of the context being passed from from the view. Is that something that is supposed to be showing?

        Actually it looks like a ticket is already created:

      2. I would like to add my vote for better class based views support in Django. An example:

        Inside PlayersView methods I can access player_id as self.kwargs['player_id'] but PyCharm says "Unresolved attribute reference 'kwargs' for class 'PlayersView'

        There are finally good information sources for CBVs (, good books about them ( and useful third-party libraries ( so I expect CBVs to become more and more important with every new version of Django. 

        But even without better CBV support, I like PyCharm a lot:-)


        1. As mentioned above, please file requests to the issue tracker at

          1. It's already summarized in - should we create more tickets? Or "thumbs up" that one in some way?

            1. No, there's no need to create any new tickets. You can vote for this one.

              1. I haven't tried out the EAP yet but it looks like this is getting worked in. I think it will make a lot of people happy. Thanks for listening and making the best IDE out there even better.