This week, we’ve fixed several issues, and added some functionality:
If you’d like PyCharm to watch your code style, we hope you’ll appreciate some new style options: closing braces can now be set either to line up with the last item or with the first character of a multi-line definition (Settings | Editor | Code Style | Python | Wrapping and Braces | Hang closing brackets, see PY-10182 for an example) . Also, if you like spaces around your parameters, you can now specify whether or not there should be spaces between the parentheses if a method has no parameters (Settings | Editor | Code Style | Python | Spaces | Within | Empty method call parentheses).
Various bugs regarding typing have been fixed
The VCS branches popup has been redesigned (Alt+`, option 7 ‘Branches’)
Download it now from our website! To keep up-to-date with our EAP releases set your update channel to Early Access Program: Settings | Appearance & Behavior | System Settings | Updates, Automatically check updates for “Early Access Program”
Calvin Hendryx-Parker (CTO of sixfeetup, and founder of the Indianapolis-based IndyPy user group) hosted a webinar for us where he showed how to add a REST API to a Django application.
In the webinar, he shows how to use djangorestframework. This library makes adding a REST API to a Django application very easy. The framework supports serving JSON and HTML endpoints by default, but can be extended to support other formats like XML and CSV.
Calvin discusses how to use viewsets and routers to make the code concise and effective. Furthermore he shows how to add authentication to the API.
PyCharm Professional Edition has several features which make Django development a lot easier: tight integration with the framework itself for the manage.py console, and tailored run configurations. Other Professional Edition features that make web development easier are for example the REST client, and the built-in database tooling (from DataGrip, the JetBrains database IDE).
To get this improved version, you can download it from our website. Once patch updates are ready for your platform, you’ll get a notification, so you can update from within PyCharm, by choosing Help | Check for Updates on Windows and Linux, or by choosing PyCharm | Check for Updates on macOS.
Thank you for your interest in PyCharm, and we’d like to wish you a happy and productive 2017!
Even though PyCharm 2016.3 was only released last month, we haven’t been idle, and we have been working hard on improving PyCharm. If you want to have a sneak peek at what’s coming in the next version of PyCharm, you can download our Early Access Program (EAP) versions which we will be releasing regularly from now on until the release.
In this first EAP release for PyCharm 2017.1 we’ve included these features:
Zero latency typing as a default. Pavel Fatin, a developer at JetBrains, has done extensive research into editor latency. With his improvements, typing in IDEA-based IDEs (like PyCharm) is now faster than it is in editors like Atom, Sublime Text, Emacs and Notepad++.
Semantic highlighting assigns colors to function parameters so you can see at a glance where they’re being used in the function.
Breadcrumbs let you know where you are within your project. Very useful when you’re working with deep hierarchies.
Better VCS log viewer: you can now search a commit using regex, and choose whether or not the search is case sensitive.
Web development improvements from WebStorm: Mocha test integration and ECMAscript 6 array intentions. See the WebStorm blog for more details!
Several bugs have been fixed as well:
Flask extension namespaces (deprecation of flask.ext.*) [pro only]
Passing arguments from Tox run configuration [pro only]
Django test runner hanging on error creating a database [pro only]
A number of fixes for code insight and type checking
Hangs on live templates invocation
A few fixes for code refactorings
Show command line after running a script
We’d like to invite you to try this EAP build and to let us know how you like it. If you encounter any issues with the EAP you can report an issue on our issue tracker. You can also reach out to us by commenting on this blog post, or by tweeting us. If you’d like to let us know about a feature you’d like us to develop, please let us know as well!
Finally, we’d like to wish you a happy 2017, we hope your code in the next year will be better than ever before!
Earlier this month I did a What’s New in PyCharm 2016.3 webinar which toured the new features in 2016.3: Python 3.6, Django, web, VCS, and platform. Rather than a simple feature list, I took a different approach. We received some useful feedback, so I thought I’d write a recap and share some thoughts.
First, these webinars are really fun for me, both on the preparation and the webinar itself. But for full disclosure — it’s a surprising amount of work. Foremost, PyCharm itself is now so mature that the new features include some serious machinery. Branch coverage? If you don’t know it, you can’t cover it (pun intended). I had to spend a good bit of time learning more about coverage, profiling, and more.
I’ve recently been contributing to the arcade package for 2d Python games, so I used it as the testbed for exploring development stuff I should know, but don’t. Along the way, I came to a conclusion about webinars: I should show new features in the context of regular development, rather than a high-speed car chase through new functionality. This is something my boss Hadi Hariri has been pushing us developer advocates on: cover the why as much as the what.
I decided to show the Python features in the regular course of writing a 2d game. It meant, though, that my challenge greatly increased: I needed a sequential script that introduced disparate “What’s New” items without seeming contrived. My sequence went through a lot of throw-away-start-over cycles.
How did it go? It seemed to go well. It certainly felt more valuable — not to mention, more fun — to show “Faster VCS Log Searches” as part of regular open source project coding. The feedback seemed to agree: most of the input zeroed in on this aspect and said they liked it.
Here were some of the better suggestions on how to improve the webinar:
It was densely-packed, so provide the outline/transcript in advance, plus reference links.
Pause more during execution, to let GoToMeeting (our webinar software) lag catch up.
Our survey also asks for topics for future webinars. Some of the common themes:
DataGrip, our IDE-for-Databases that is bundled in PyCharm Professional. I showed a tiny bit of it and I think it blew people away.
More Django (in fact, it’s the next webinar)
Test coverage, profiling, and other core skills
Python for data science
Remote development (Vagrant, SSH, Docker, etc.)
Got other webinar ideas? Have something interesting to say and would like to do a webinar? Drop us a note in the comments, or send me an email, and let us know.
All in all, this new approach to doing What’s New webinars via actual development, instead of features-as-laundry-list, looks like a keeper. I’ll refine it to get better in the future. If you have a chance, watch the recording and let us know what you think.
The holiday season is a great time to have fun, and it is also a great time to learn something new. That’s why today we’re opening the Early Access Program for PyCharm Edu 3.5 – the next update of our free tool for learning and teaching programming with Python.
What is Early Access Program?
We at JetBrains believe that making tools for developers involves listening carefully and responding to the opinion of everyone using our products – from students and their teachers to novice and experienced developers. The Early Access Program (EAP) allows you to try pre-release versions of our software to evaluate features that will be added in the next release. Your feedback is more than welcome, so please share it here in the comments or report issues to our tracker!
It is important to distinguish EAP from traditional pre-release software. Please note that the quality of EAP versions may at times be far below the usual beta standards. If you are looking for a stable version of PyCharm Edu, please visit our site.
This hands-on webinar will teach you how to leverage Python and Django to extend an existing web application and add REST capabilities. The webinar begins with an overview of an existing Django application built to track notes and then dives into adding REST using the Django REST Framework. Attendees can follow along as we build the Notes web application. We will show case using PyCharm to inspect the database and test our API. We will also look at debugging the application with the powerful PyCharm debugger.
About the presenter
Calvin Hendryx-Parker is the co-founder and CTO of Six Feet Up, a Python web application development company focused on deploying content management systems, intranets and portals, as well as custom web apps using Django, Pyramid and Plone. Under Calvin’s technical leadership, Six Feet Up has served organizations like Amtrak, Eli Lilly, NASA, UCLA and the United Nations.
As an advocate of open source, Calvin is also the founder and organizer of the IndyPy meetup group and Pythology training series in Indianapolis. In 2016 Calvin was nominated for a MIRA Tech Educator of the Year Award.