PyCharm 2017.3 EAP 5

The latest and greatest early access program (EAP) version of PyCharm is now available from our website:

Get PyCharm 2017.3 EAP 5

New Interface for Interpreter Selection

In recent times, PyCharm has added more and more advanced ways of configuring your project interpreter. In addition to your regular system Python and virtualenvs based on it, we now also support Conda environments, interpreters on remote machines through SSH, within Docker containers, and in Vagrant boxes. This list is likely to grow in the future as the Python community adapts new ways to isolate dependencies.

The interface that we’ve used to configure these interpreters has slowly been adapting to accommodate new ways of configuring an interpreter. The time has come to overhaul it, both to make it more intuitive to use now, and to be ready for future expansion.

No More Long List

In the project interpreter settings, there is a dropdown, which contains all the virtualenvs you’ve ever used in PyCharm. If you have many projects which all have their own virtualenv, this becomes a very long list. Yet, for the project you’re working on most of them are irrelevant.

This changes in PyCharm 2017.3, the project interpreter dropdown will only have the virtualenvs you have specifically configured for that project, and virtualenvs that you’ve specifically configured to be shared between projects.

Interpreter List

Creating New Virtualenvs Made Easy

If you want to configure a new interpreter for your project, use the gear icon, and choose either ‘Add Local’ or ‘Add Remote’. Local interpreters are those that run directly on your operating system, remote interpreters include Docker and Vagrant in addition to remote computers you connect to through SSH.

Add Local

Let’s have a look at the new Add Local dialog:

Add Local Dialog

This makes it very easy to configure a new virtualenv. If you’d like to reuse an existing virtualenv, you can choose it under ‘Existing virtualenv’. And if you’d like to reuse that virtualenv for further projects in the future, you can check ‘Make available to all projects’ and it will appear in the dropdown on the project interpreter page for all projects.

As we know the decision where to place virtualenvs is a choice that users like to make for themselves, we’ll remember where you placed the virtualenv the previous time. Whether that’s inside your project, or in a separate directory.

For users of virtualenvwrapper and similar tools, we’ve added some intelligence to the existing virtualenv section, and if we find a virtualenv that looks like it belongs to this project (if the name matches, either fully or partially), we’ll preselect it. That means that after setting up your project with mkvirtualenv, after opening PyCharm you’ll be prompted to configure an interpreter, and you’ll most likely only have to click ‘OK’ to confirm.

Also New in this Version

Syntax Highlighting for Function Calls

An oft-requested small improvement to our syntax highlighting: you can now customize the color of function calls in your code. By default, they’re set to black, but you can change them in the settings: Editor | Color Scheme | Python.

Function Call Highlighting

SSH Config File Support

If you’re using a bastion host (also referred to as a jump host), you’ll be very happy to know that PyCharm 2017.3 supports SSH config files. Even on Windows. Just write an OpenSSH style config file in ~/.ssh/config or /etc/ssh/ssh_config and choose “OpenSSH Authentication”. 

Further Improvements

  • Fast autocompletion from the command history in the Python console. For example, to import something you’ve imported recently, just type im and then use the up and down arrow keys to find the import.
  • Asynchronous evaluation of variables in the debugger, if you have large objects in your code, you will now be able to see the simple values while the large objects are still loading. Very useful if you have large DataFrames. 
  • Are you using Django together with a JavaScript framework that also uses curly braces in HTML files? You can now disable Django template autocompletion for these files, and get the proper support for the JS framework instead. To do this, right-click the folder that contains the HTML files and click Mark Directory as | Resource Files.
  • We’ve added support for Twisted Trial unit tests
  • And more, have a look at the release notes for details

If these features sound interesting to you, try them yourself:

Get PyCharm 2017.3 EAP 5

As a reminder, PyCharm EAP versions:

  • Are free, including PyCharm Professional Edition EAP
  • Will work for 30 days from being built, you’ll need to update when the build expires

If you run into any issues with this version, or another version of PyCharm, please let us know on our YouTrack. If you have other suggestions or remarks, you can reach us on Twitter, or by commenting on the blog.

Posted in Early Access Preview | Tagged | 4 Comments

Webinar: “GraphQL in the Python World”

GraphQL is a new way of communicating with your data sources. It might replace RESTful APIs because it provides a better framework for dealing with your data. This webinar is about what GraphQL is and what problems it actually solves in comparison to RESTful APIs. Then, if you like it, how you can get started using the Python graphene library, and how to use it with different ORMs like Django and SQLAlchemy as well as Python web frameworks like Flask and Pyramid.

  • Tuesday, October 31
  • 17:00 European Time, 11AM Eastern Standard Time
  • Register here

p8r

This webinar will provide both a theoretical perspective as well as hands-on demos to showcase what GraphQL is, what it is capable of, and how it can benefit in your own jobs and side projects.

Technical Requirements

  • Understanding of Web Development
  • Understanding of RESTful Web Services
  • Experience with at least one Python web framework like Flask, Django or Pyramid

Speaking to you

Quazi Nafiul is a software engineer at Suitsupply. He has been building REST APIs for over five years professionally. He has used pretty much every major web framework in the Python ecosystem. He’s given talks at multiple PyCons including APAC and Germany. He is currently working on evangelizing GraphQL to those who have used REST and are looking for better alternatives.

Quazi is also the author of Mastering PyCharm.

Posted in Webinar | Leave a comment

Interview: A leading Django development consultancy gains speed and efficiency with PyCharm

caktus_group_logo

Imagine working for a development consultancy: dozens of different projects, constant communication with customers, each of which has their own preferences on technology stacks, coding standards, and unique sets of requirements – not to mention expectations on project performance, robustness, and completion schedules. Keeping a balance between maintaining the existing code base and promoting best development practices can be daunting, but that’s what the people at Caktus Group have mastered through the years.

We spoke to two professional Python developers with diverse backgrounds and experiences to learn what Django development looks like in a modern Django development company. We wanted to know how they switch between different projects, and how they quickly get a grasp on current technologies. Please meet Charlotte and Dan from Caktus Group, a leading Django development consultancy building custom web and SMS apps!

– Hi, Dan and Charlotte! Could you tell us a little bit about yourself and how you got into Django development?

Charlotte_crop_smCharlotte: I started programming in high school and although I decided to study genetics in college, but I kept programming as a hobby over the years, through all of life’s twists and turns. I’ve always had a passion for coding and just recently began programming professionally.

 

dan-poirier_crop_smDan: I graduated as a Master of Computer Science from UNC Chapel Hill and have been a professional developer for about 25 years. I’ve been a committer on the Apache HTTP Server project since 2009. During the last 6 years, I’ve been working with Python doing Django backend work. Prior to that, most of my work was in C or Java. I used Emacs when developing C, and sometimes Eclipse for Java development.

– What size is your team at Caktus?

Charlotte: Caktus is just over 30 people in total, with most employees (including the company founders) being developers. The current trend is that there are more and more companies and startups preferring Python with Django to other web development technologies. The community around Django continues to grow, and so do we!

– What are the most prominent projects under your belt?

Dan: Actually we’ve participated in many different projects. We developed the world’s first SMS voter registration system for Libya, which enabled 1.5 million registrations. Another huge project was a digital archiving system for the world’s largest on-demand video provider, which uploads 6.5 terabytes of data daily. We were also honored to build the award-winning PyCon websites in 2014 and 2015. Other interesting projects we completed can be found on our website.

– What is the current project you’re working on?

Charlotte: Currently we’re building a multi-tenant forum for an entertainment (games) company, integrating APIs into complex conferencing technology for a major membership association, and providing team augmentation for a large energy supplier, as well as a few other apps and responsive website projects for clients in travel, e-commerce, and higher education.

– What technologies do you use for your Python development?

Dan, Charlotte: We’re primarily a Django shop, so we rely heavily on Django itself. We also use Postgres almost exclusively for our databases.

Our customers have various needs and wants, so depending on a particular project, we use different stacks of technologies. The tools worth mentioning, which we use quite often, are: Redis, RabbitMQ, ElasticSearch, Memcached, Gunicorn, Nginx, and UWSGI. There are many other technologies in use. We often deploy to Amazon Web Services to take advantage of load balancing, autoscaling, managed services, etc.

Our deployment tools vary. We’ve used Salt Stack, Ansible, Elastic Beanstalk, Dokku, Heroku, and some home-grown solutions too.

– What do you think are the main challenges that you have to deal with while working at a development consultancy?

Charlotte: Because our projects are contract-based, we often have stack requirements which come from a client, either because they have a preference or because we are modifying code which already exists on a particular set of technologies. Switching between different requirements is challenging, but this gives us exposure to a lot of different ways of doing things.

Dan: In my previous job, I often worked on the same product for years. Here, we start multiple new projects every year (and finish others, of course), which means both learning a new code base or starting from scratch again, and learning a new client’s priorities and requirements. It’s challenging, but I love it because it keeps things fresh.

Another difference is that we are in constant communication with clients during each project. But it’s not enough to just schedule time to talk. Every client is different, so we have to learn each client’s preferred communication style, and then use that to both learn their expectations and communicate ours. This can be challenging sometimes, but it also enables us to deliver the best apps possible to our clients.

Finally, after completing new feature work, we often provide support for the web app we’ve built. So, in addition to having several projects we’re actively working on, we have even more that we need to be ready to fix if any problems come up. This is all part of what we provide as a full-service agency, however.

– What’s is so special about Python and Django? Why are they the language and framework of your choice?

Dan: Python’s focus is on readability, it lends itself to straightforward development, and its popularity ensures we’ll continue to have access to a large pool of skilled staff as we look toward future growth. When I first tried Django several years ago, I was immediately impressed with how quickly I could start creating useful applications. Django was built to be fast, scalable, and secure. Those are the factors which are integral to how we develop at Caktus.

Charlotte: Python has a lot of included and third-party libraries, and it’s structured in such a way as to encourage breadth of development. There are many tools available, and it’s not hard to build custom tools for it as needed. Django itself has batteries included and a wealth of reusable apps as well. Being a robust and stable framework, Django strives to solve common problems in web development in the best way possible. Last but not least, Django has fantastic documentation.

You can read more about why we use Python and Django in a blog post published by our CEO, Tobias McNulty. In this blog post, he shares his vision on Django advantages and why companies and startups should start using Django, as well as his perspective on the future of the framework.

– Which Python versions are in use for your projects?

Charlotte: All new projects are written in Python 3, and we advocate strongly for older projects to be moved away from Python 2 as soon as possible. Python 2 will stop being supported in 2020, at which point it will be susceptible to the gradual discovery of security flaws that happens to all products; they will no longer be fixed and therefore will remain as vulnerabilities in any code written in Python 2.

Python 3 is not so different from Python 2 and isn’t particularly difficult to migrate over. There are numerous resources out there to assist with the transition, as well as libraries like six, which allow running Python 2 and Python 3 code side-by-side so that the transition doesn’t have to happen all at once. Most clients that I’ve spoken to about migrating think that it is important and want to do it. I think that as we get closer to 2020, we’ll see a bit more urgency about transitioning.

– You both use PyCharm as a primary IDE for Python and Django development. Can you recall how you first learned about PyCharm?

Dan: It’s been a long time, now. It’s hard to recall how I first came across PyCharm. Back in 2011 I was using Eclipse for my Java development, then I switched over to Python and Django. Back then, I visited the DjangoCon conference, where I received a free trial license for PyCharm. I started using it and haven’t really looked at Eclipse since. It’s been my default Python IDE for about 6 years now.

Charlotte: I first learned about PyCharm from someone at a local Python user group. I started using it when I started building Django projects, because it made it much easier to keep track of the interactions between models and views and so on. I’ve since gotten to the point where it’s my go-to editor for anything Python because of its power and flexibility.

– How did you choose PyCharm from other alternatives? How did the initial adoption go in your team?

Dan: I don’t recall it being too hard for me to switch. I had been using PyDev and Eclipse, and the significantly improved performance with PyCharm was a real incentive to switching. There were some things that took me awhile to get used to, for example not being in control of when/which individual files are saved, but overall I was more productive fairly quickly.

Charlotte: I was already a PyCharm user before I joined Caktus, so to me PyCharm was an obvious choice when I started developing professionally. When I joined Caktus Group, I just informed the sysadmin that I would be using it, and requested a professional license. I had no trouble getting that.

When I first picked up PyCharm, I needed, at a minimum, an editor which would keep up with multiple files and help track imports and calls across those files, and I decided to try PyCharm because it had such vocal support from people I knew. I had used Notepad++ before, which handled some of the things I needed, but I had gotten a new computer and decided to try out PyCharm first. I never looked back.

– What PyCharm features do you and other people on your team use often?

Dan: The features I use frequently and enjoy the most are: Go To Declaration, Code completion and automatically adding imports (Optimize Imports), Find in Path, code formatting with auto-indenting, and refactorings. Those are probably the most common things I use in PyCharm. I also appreciate the real-time syntax and style checking, not just in Python but also in HTML and JavaScript. I still use the command line for running tests, debugging, and version control; I’m used to it and haven’t spent much time trying to figure out how to do those things in PyCharm. (Except that I always switch to PyCharm when I need to resolve merge or rebase conflicts.)

Charlotte: Autocompletion is certainly my number 1 most-used feature, to such an extent that, when I’ve forgotten to add a parameter to a function or initialize a variable, I often first notice because it’s not available to autocomplete. The ability to jump to a declaration saves me enormous amounts of time. When working with long files, I very much appreciate the ability to collapse everything in a file with one key command, and then expand out only the parts I need. I appreciate the way Python handles refactoring, for instance when I’m partway through coding something and realize I’m using a variable differently from how I’d planned to when I first named it.

– What important advantages does PyCharm offer you vs. using text editors, if any?

Dan: Pretty much all the features that are based on understanding the whole project’s codebase – code completion, navigation, search, refactorings, etc.

Charlotte: The main advantage over a text editor is the degree to which PyCharm is able to understand the totality of my codebase, and highlight possible issues or autocomplete likely targets on the basis of that. Other than that, at Caktus Group we do follow PEP8 as a team, and this is made easier by PyCharm’s hinting. I rarely miss a PEP8 violation, since PyCharm will highlight them as I go.

– Do you think PyCharm increases your productivity overall?

Dan: I can’t imagine developing in Python without PyCharm or something like it, and I haven’t felt any need to look for anything else.

Charlotte: PyCharm does wonders for my productivity. There have been instances where I was pair programming with someone who doesn’t use it, and I got frustrated trying to do something manually, so I ended up pulling their branch to my own computer so I could use PyCharm’s tools to help diagnose the issue.

Thank you for the interview, Charlotte and Dan!

If you want to learn more about Dan’s experience using PyCharm, read his complete PyCharm review on the Caktus blog.

For updates, follow Caktus, Charlotte and Dan on Twitter.

About Caktus Group

caktus_group_logo

Caktus is a leading web development firm in the US, building custom web and mobile tools with Django for businesses and social good since 2007. Major projects include the development of Libya’s SMS voter registration system, the first of its kind in the world, and supporting education reform with the University of Chicago’s CCSR survey. Past and current clients include the University of North Carolina, UNICEF, the Specialty Food Association, Mozilla, iN DEMAND, and Discovery Communications.

Since their own success relies on the success of many various open source projects, Caktus Group developers contribute to open source development. Check out their GitHub to learn more about what they’re working on.

Posted in Interview | Leave a comment

PyCharm 2017.3 EAP 4 Out now

The latest and greatest early access program (EAP) version of PyCharm is now available from our website:

Get PyCharm 2017.3 EAP 4

New in this version

Faster setup for SSH interpreters [Pro only]

If you’ve ever configured an SSH interpreter in PyCharm before, you know it takes a while for PyCharm to synchronize its helpers to the remote machine. Furthermore, as PyCharm needs to download libraries from the remote machine altogether you’d be waiting a while until you could start working. We’ve made serious performance improvements in this release, see this video for an impression:

Watch video on Vimeo.

Further Improvements

  • When running a test from the context menu, it will now use the test runner you’ve configured for your project
  • For TypeScript: extract interface, and more refactorings and quick fixes [Pro only]
  • If you work with PostgreSQL date/time columns with timezone, you’ll be happy to learn that we’ve improved the handling of showing timezones. If you set the timezone for your session with SET TIMEZONE='europe/berlin'; this will now work correctly. [Pro only]
  • And more, have a look at the release notes for details

If these features sound interesting to you, try them yourself:

Get PyCharm 2017.3 EAP 4

As a reminder, PyCharm EAP versions:

  • Are free, including PyCharm Professional Edition EAP
  • Will work for 30 days after being built, you’ll need to update when the build expires

If you run into any issues with this version, or another version of PyCharm, please let us know on our YouTrack. If you have other suggestions or remarks, you can reach us on Twitter, or by commenting on the blog.

Posted in Early Access Preview | Tagged | 5 Comments

Webinar Recording: Visual Testing with Kenneth Love

Last week we had a wonderful webinar on visual testing with Kenneth Love, Python teacher and speaker extraordinaire. The recording is now available:

During the webinar, Kenneth covered quite a bit of material:

  • Start with a game in a Python package
  • Use PyCharm to generate the first test
  • Different ways to run and see tests
  • Switch to pytest, then fixtures, then conftest.py
  • A TDD-style view, code side-by-side with test, and autorun turned on
  • Using the visual debugger during visual testing
  • Also using visual test coverage

This webinar lasted a little over an hour with probably the record number of questions. If we didn’t get to yours, or if you watch the recording and have a question, file a comment on the YouTube page, on this blog post, or reach us on Twitter. You can also nudge Kenneth on Twitter as well.

Note: My (Paul) audio was too loud, spoke too close to mic. Lesson learned for next time.

<em>-PyCharm Team</em>
The Drive to Develop

Posted in Video, Webinar | 1 Comment

PyCharm 2017.3 EAP 3 Out now!

The latest and greatest early access program (EAP) version of PyCharm is now available from our website:

Get PyCharm 2017.3 EAP 3

New in this version

__all__ warnings

Although Python doesn’t have support for private members, there are a couple of ways to indicate to developers that something shouldn’t be used. In addition to prefixing a method with an underscore, you can also explicitly specify public members with __all__. PyCharm can now warn you if you inadvertently use a member that’s excluded. Just be sure to enable the “Access to a protected member of a class or module” inspection in Settings | Editor | Inspections.

__all__ warning

Improved Completion for JOIN statements

Before, we would suggest the table names, now we’ll complete the entire JOIN statement. When you have your foreign keys properly set up, that is:

Improved completion for JOIN statements

Scripts for create-react-app

When creating a new react app, you can pass a scripts option to the utility to add support for additional features to your new application. This is now supported in PyCharm:

Specify Scripts Version for Create-React-App

Further Improvements

  • We fixed an issue where sometimes we couldn’t find the step definition from a Lettuce .feature file
  • When adding a __all__ to your modules and packages, you’ll now have completion for applicable items
  • Improved CSS editing support
  • The PIVOT keyword for Oracle, and the GROUP BY ROLLUP and GROUP BY CUBE constructs for MS SQL Server are now supported
  • And more, have a look at the release notes for details

If these features sound interesting to you, try them yourself:

Get PyCharm 2017.3 EAP 3

As a reminder, PyCharm EAP versions:

  • Are free, including PyCharm Professional Edition EAP
  • Will work for 30 days from being built, you’ll need to update when the build expires

If you run into any issues with this version, or another version of PyCharm, please let us know on our YouTrack. If you have other suggestions or remarks, you can reach us on Twitter, or by commenting on the blog.

Posted in Early Access Preview | Tagged | Leave a comment

Interview: Kenneth Love on testing, Python, and organizing

Python is one of the easiest languages to learn, but that doesn’t mean all the programming concepts become easy. One that’s hard: testing.

Kenneth Love, well-known speaker, organizer, and teacher in Python, has years of experience bringing complicated subjects within reach. He’ll be our guest for a webinar on Visual Testing With PyCharm. He’ll introduce testing concepts and show how PyCharm makes it easier by putting a visual face on testing.

We interviewed Kenneth to help set the scene for the webinar.

It’s a pleasure having you with us for a webinar. My son and I spent summer vacation going through your Python Basics course twice and it was a big help. Do you get that a lot?

Yeah, I’ve had quite a few people thank me for making that course, and others that I’ve made, over the years. It seems to be a course that has really caught people that weren’t able to get going at Python through other means.

Give us a little background on yourself, your Python origin story and what you’re doing now.

I’ve been using Python for 8-10 years now. I picked it up, almost on a whim, after a friend and I both kind of soured on Ruby. I made the mistake of learning Django before I really learned Python. Eventually, though, I figured out that I should know how more than just an ORM and HTTP works and learned the core parts of the language. I’ve been a full-time Python developer or teacher for the past six or seven years.

I just recently changed jobs and left teaching to go back into the world of development. Things are changing all the time and I felt like I needed to get back to development for awhile.

Is testing hard to teach?

I think it’s a tricky area to teach. People are used to writing and running code. But writing code that runs your code and looks at what happens? It’s just a bit too meta for a lot of beginners. It’s also the case that a lot of beginners write code that’s hard to test, through no fault of their own (they’re beginners! I know I wrote messy code when I was first starting) so that can really increase the complexity of learning to test.

Do you have special tricks that seem to work on conceptually hard topics? Debugging, testing, things like that.

Like with most topics, you have to strip away the magic and the special words. We often have a problem in tech of gatekeeping with jargon. We use words that have very specific meanings, like say “fixtures”, and we expect everyone to just know them. When someone is new to testing, the term “fixtures” might not have any meaning at all, or mean something completely unrelated. If you can define these terms for them, make them familiar and comfortable, then they can get onto the business of learning this new technique a lot faster.

You’re also well-known for organizing. Can you give us your origin story on how you got involved?

I honestly just kind of stumbled into it! My friend Lacey Williams Henschel wanted to do a Django Girls workshop here in Portland. The company I worked for had a great space for it, so I volunteered it. She wanted a co-organizer so I volunteered for that, too. We had a great event and went on to do two more of them after that.

I got into organizing DjangoCon US by being a pain in the butt. I was a pretty big critic of the previous incarnation of DjangoCon US, before it became community-ran. So when the community took it over, I kinda got tapped to help out (no one forced me, of course, but I felt like I had to step up). Since then I’ve been involved in the program selection for the past two years and did a lot of speaker encouragement and talk rating before that.

Django Girls is such a wonderful story. Mind giving us some background and status on that?

Honestly, I’m not heavily involved with Django Girls any longer. Lacey and I organized the three events and then we both mostly bowed out. It’s definitely an amazing organization and I’m completely astounded by the numbers they recently posted. I would love to see more DG-like organizations pop up for other languages and frameworks.

Let’s close out with kind of an open-ended question. What’s something you think you’ll study a lot more in the next year?

I’m really interested in this recent upswing of languages that are focused more on speed and safety. I’d really like to spend some time digging into the Rust programming language. Due to work, I’ll likely be learning more about React and Go as well.

Posted in Interview | Leave a comment

PyCharm Edu: Tips & Tricks for Most Efficient Learning, Part II

September feels just right to start learning, or continue with even more effort and joy. And today feels just right for the next post in our series covering learning methods and tips & tricks designed to help you to learn more effectively and make you more excited about learning Python with PyCharm Edu!

Last time we posted about how to make your IDE suit your needs and preferences, and help you stay focused and avoid distraction. Today we’re going to focus more on the process of writing code.

Learn faster with a smart code editor

As you learn to code, it is encouraging to have an intelligent assistant right inside your IDE. Language-specific syntax & error highlighting are there to help you avoid code mistakes. You can use code formatting capabilities to learn how to style your code. And you won’t get stuck with your Python coding with code completion and quick documentation at hand.

Use code completion
Learn with documentation
Explore the code
Fix code errors
Style your code Continue reading

Posted in Education | Tagged | 2 Comments

PyCharm 2017.3 EAP 2

After a strong start, we continue our early access program (EAP) with its second release. Download EAP 2 now!

Testing RESTful Applications

Many of us work on web applications which expose a RESTful API, or at least an API that pretends to be RESTful. To test these some of us use cURL, some browser extension, or some other piece of software. There is a REST client in PyCharm, but we’ve decided it can use some improvement, so we’re making an all new one.

The new REST client is entirely editor based, you write your request in a file, and then run the request to get a response. Sounds easy enough, right?

To see how it works, we’ll take the sample application from Flask-Restplus, which as you might expect exposes a todo API.

We’ll start out by creating a new todo. This is done by POST-ing to the /todos/ endpoint. To use the new PyCharm REST client, we should start by creating a .http file. If we don’t intend to save this, we can create a scratch file. Press Ctrl+Alt+Shift+Insert (Shift+Command+N on macOS) to start creating a scratch file and choose ‘HTTP request’ as the type. Let’s type our request into the file:

 

Now click the green play button next to the first line, and you should see that the task was created:

Create a Task with the REST client

You can see the response in the Run tool window, and you might also notice that PyCharm wrote a new line in our file with the name of a .json file. This file contains the response, so if we Ctrl+Click (Cmd+Click) the filename, or use Ctrl+B (Cmd+B) to go to definition we see the full response in a separate file.

Those files become really useful when we do the same request a couple times but get different results. If we use a GET request to get our todo, and then use a PUT to change it, and redo our GET, we’ll now have two files there. We can then use the blue icon with the arrows to see the difference between the responses:

See the difference between REST responses

Now it’s your turn! Get the EAP and try it yourself

Further Improvements

  • Code completion for CSS now supports more notations for colors (rgb, hsl), added completion for CSS transitions, and more
  • React and TypeScript code intelligence: TypeScript 2.4 mapped types, and more
  • Docker improvements: you can now pass –build-arg arguments to a Docker run configuration

To read about all improvements in this version, see the release notes

As always, we really appreciate your feedback! Please let us know on YouTrack about any issues you experience or suggestions for improvement. You can also reach us on Twitter, or by leaving a comment below.

Posted in Early Access Preview | Tagged | 9 Comments

PyCharm 2017.3 EAP Starts now: scientific mode, and more

At JetBrains, we believe it’s important to involve our customers at an early stage. Before releasing a new version, we test our software to make sure everything works well. However, in software development there are as many unique configurations as there are developers. Therefore we provide Early Access Preview (EAP) versions free of charge, so you can make sure all of our improvements work in your environment prior to release.

We’d like to invite you to download the first EAP version of PyCharm 2017.3 now, it’s available from our website.

Please let us know how you like it! You can submit feedback from within PyCharm, by leaving a comment on the blog, or by reaching out to us on Twitter. If you run into any issues in the EAP, please create a ticket on YouTrack.

New in this version: Scientific Mode

More and more Python developers are doing scientific development, and we’ve created a new feature especially for them. When we detect that you use a scientific package in your project (like numpy or pandas), we will suggest to enable scientific mode:

PyCharm 2017.3 Scientific Mode

If you chose not to use scientific mode when we asked, you can always enable it later in View | Scientific Mode.

In this mode, we open several tool windows by default: the Python console (bottom left), a variable viewer (bottom right), and a documentation viewer (top right).

The new scientific mode makes exploring data a lot easier: you always have an overview of the variables in your current session, and we look up the documentation of the method you’re using as you’re typing. No longer will you need to have your browser open with 20 tabs just to find the details about Pandas methods. In other words: you can focus on your data, rather than the details of the library you’re using.

New Features

  • You can now configure exception breakpoints to be conditional, or to evaluate a statement and log

Conditional Exception Breakpoint

  • For those who want to install PyPI packages into Conda envs, we’ve added PyPI and Conda Modes for the PyCharm Package Manager. Simply click the Conda button on the right to switch between Conda and PyPI mode:

Conda Package Management

Further Fixes and Improvements

  • We now correctly identify test classes, even if they have methods that don’t start with test_
  • Many inspections and autocomplete fixes, for example we’ve improved a couple of cases where we misinterpreted __all__, and we resolved some NamedTuple issues
  • Bugs involving Twisted Trial
  • Some improvements to editing BDD feature and step files
  • Various performance improvements

To see the full list of improvements, see the release notes of PyCharm 2017.3 EAP 1

Excited to try these new features yourself? Download PyCharm 2017.3 EAP 1 now

As always, EAP versions of PyCharm Professional Edition are free of charge, and will work for 30 days from the day of the release. If you upgrade regularly during the EAP program, you will be able to use PyCharm Professional Edition for free for the entire duration.

-PyCharm Team
The Drive to Develop

Posted in Early Access Preview | Tagged | 10 Comments