Webinar Recording: “Visual SQL Development with PyCharm” with Maxim Sobolevskiy

This week we had a webinar with Maxim Sobolevskiy, the DataGrip Product Marketing Manager, showing the wonderful, magical Database tool in PyCharm. The webinar recording is now available.

In this webinar Max covered many of the amazing features of DataGrip: connections and connection settings, queries with autocomplete and refactoring, working with results, browsing/querying/editing data, export/import, and more. Paul then showed a simple Flask application and how the Database tool is injected into Python code.

If you work at all with SQL in Python projects, take some time to watch the webinar. It’s powerful stuff and will deeply improve your velocity.

The webinar has a sample repository with a Docker Compose setup for the sample PostgreSQL server, along with instructions to recreate the Flask project.

Posted in Video, Webinar | Leave a comment

PyCharm 2019.3 Beta

We’re very excited to announce the Beta release for PyCharm 2019.3, a feature-complete preview of the upcoming release. Give the Beta build a go and try all the new functionality – download it from our website.

Improvements in PyCharm 2019.3 Beta

  • The issue causing the UI to be unresponsive when an exception was raised while using Python console completion was fixed.
  • We’ve solved the problem causing the Clear All action for the console to raise some errors.
  • Auto generated test files from templates (unittest and pytest) now support classes without methods to generate test files.
  • If you’re using symlinks in your tests you will find that stack traces now consistently will show the symlink instead of the real path in the console.

Further Improvements

For more details on what’s new in this version, please refer to the release notes.

Interested?

Get the PyCharm 2019.3 Beta build from our website. Alternatively, you can use the JetBrains Toolbox App to stay up to date with early builds.
PyCharm 2019.3 Beta is part of Early Access Program, so the EAP rules apply.

EAP Program Key Facts

  • The EAP version of PyCharm Professional Version is free to use
  • EAP build will expire after 30 days
  • This is pre-release software, you may face stability issues and other rough edges
  • You can install the EAP version alongside a stable version of PyCharm
  • EAP versions of PyCharm report statistics by default, you can opt out by changing the settings in Preferences | Appearance & Behavior | System Settings | Data Sharing
  • The latest version of the documentation is now also available

 

Posted in Early Access Preview | 1 Comment

PyCharm 2019.2.4

PyCharm 2019.2.4 is now available!

Fixed in this Version

  • A regression issue that caused Pytest not to work properly with the debugger console was fixed.
  • The debugger console problem for PyQt5 that caused it to crash was solved.
  • We fixed an issue that was causing NumPy arrays not to be properly formatted in the Data View panel.
  • The IronPython problem causing the debugger to fail was fixed.
  • We took care of the debugger stack trace messages that are displayed when the debugger is stopped so they won’t show so you can properly know when the process was ended.
  • The regression issue causing the Pytest test suite to raise an error in PyCharm was solved.

Further Improvements

  • A platform issue that was modifying original file permissions upon saving them was solved.
  • We tweaked the error messages for SSH connections to show information properly.
  • Adding data source for databases via the explorer now opens directly the actual type of data source selected.
  • Completion for databases is now aware of the database or schema you’re currently working with so it will only show suggestions that belong to that context.
  • And much more, check out our release notes for more details.

Getting the New Version

You can update PyCharm by choosing Help | Check for Updates (or PyCharm | Check for Updates on macOS) in the IDE. PyCharm will be able to patch itself to the new version, there should no longer be a need to run the full installer.

If you’re on Ubuntu 16.04 or later, or any other Linux distribution that supports snap, you should not need to upgrade manually, you’ll automatically receive the new version.

Posted in Release Announcements | Leave a comment

2019.3 EAP 7

A new Early Access Program (EAP) version for PyCharm 2019.3 is now available! If you wish to try it out do so by downloading it from our website.

New for this version

R plugin support

We are happy to announce that PyCharm now supports the R language and development environment plugin to perform statistical computing as part of our scientific tools offering. Perform data wrangling, manipulation and visualization with the library tools that R has available. To start using it download the R language, install the R plugin in PyCharm and configure the R interpreter.

After doing this you can start creating .R files (that you can easily identify by the py_r_logo icon) for which we will provide code assistance like: error and syntax highlighting, code completion and refactoring, creation of comment lines, intention actions and quick fixes.

To make the most out of this scientific tool you will have available a console, graphic tool window, and packages, HTML and table views to work with:

Screenshot 2019-10-31 at 2.32.41 PM

Want to know more? Visit our R plugin support documentation to get detailed information on installation and usage.

Further improvements

  • An issue causing Docker remote interpreters not to reflect updated libraries in PyCharm was fixed. Now every time you update your Docker packages they will be auto updated as well in PyCharm.
  • The PEP8 warnings showing incorrectly for assignment expressions were solved.
  • For more see the release notes

Interested?

Download this EAP from our website. Alternatively, you can use the JetBrains Toolbox App to stay up to date throughout the entire EAP.

If you’re on Ubuntu 16.04 or later, you can use snap to get PyCharm EAP, and stay up to date. You can find the installation instructions on our website.

Posted in Early Access Preview | 1 Comment

2019.3 EAP 6

The latest Early Access Program (EAP) version for PyCharm 2019.3 is now available! Try it now by downloading it from our website.

New for this version

Improved visualization of information about variables

The variables view got some improvements to show better and organized information about variables. Now, while using the console, debugger, or the Jupyter Notebook variables tab, you will notice changes on the way data for a variable is represented such as: display of shape and improved visual representation for scientific arrays (pandas: DataFrames, Series; numpy: ndarray), display of length information for objects with __len__ attribute, removal of duplicated type information, ids are no longer showcased for dictionary keys and set elements, and protected attributes that now are grouped, collapsed and placed at the bottom of the list of values.

This is how the variables view was showing information before:

FrameCapture 2019-10-18 at 10.30.55 AM

And this is how it’s been shown now:

FrameCapture 2019-10-18 at 10.31.20 AM

Support for code completion at runtime for Jupyter Notebooks

Runtime completion for code can now be used for Jupyter Notebooks cells. You can now expect the information from Jupyter kernel cell execution to be available on code completion suggestions.

Screenshot 2019-10-18 at 10.48.46 AM

Interactive widgets integration for Jupyter Notebooks

Support for Jupyter widgets was added to PyCharm. Use capabilities such as building GUI’s for your notebooks and synchronizing stateful and stateless information between Python and Javascript right from PyCharm.

FrameCapture 2019-10-18 at 11.36.16 AM

Option to display int values in hexadecimal and binary format from the variables view

Are you debugging network scripts or interfacing with hardware devices that require you to be aware of values in a non decimal format? Worry not as PyCharm now has integrated conversion of format for decimal values to hexadecimal or binary format straight from the console or debugger through the variables view.

Screenshot 2019-10-18 at 11.51.14 AM

TypedDict support for Python 3.8

Python 3.8 is already here and we continue our efforts to support its latests features. This time we added support for PEP-0589. With this, expect PyCharm now to comply against typed dictionaries definitions and let you know through type hints whether or not you’re implementing a dictionary properly against its typed keys.

Screenshot 2019-10-18 at 12.09.49 PM

File path completion suggestions in string literals

Need to use a file and want some assistance looking for it on your project file structure? PyCharm now supports file path completion from string literals by showing suggestions of the possible paths you want to use.

Screenshot 2019-10-18 at 1.19.22 PM

Live synchronization of Jupyter Notebook source code from external updates

PyCharm is now aware of any external change made on Jupyter Notebook files. In the past, changes were not reflected immediately making cases like running a Jupyter server and modifying files on that running instance via the browser, for example, not to be synchronized with the PyCharm project files. That’s no longer an issue with this release. Feel free to modify files externally and expect PyCharm to have the latest updates.

Further improvements

  • Code inspection for Python 3.8 was improved in the specific case of parenthesis usage in return and yield statements where is no longer necessary to use them.
  • The kernel specification on Jupyter Notebook now registers interpreters based on module information rather than on the project one.
  • Support was added for Windows Subsystem for Linux 2 (WSL 2) by Microsoft.
  • And much more, see the release notes

Interested?

Download this EAP from our website. Alternatively, you can use the JetBrains Toolbox App to stay up to date throughout the entire EAP.

If you’re on Ubuntu 16.04 or later, you can use snap to get PyCharm EAP, and stay up to date. You can find the installation instructions on our website.

EAP Program Key Facts

  • The EAP version of PyCharm Professional Version is free to use
  • EAP build will expire after 30 days
  • This is pre-release software, you may face stability issues and other rough edges
  • You can install the EAP version alongside a stable version of PyCharm
  • EAP versions of PyCharm report statistics by default, you can opt out by changing the settings in Preferences | Appearance & Behavior | System Settings | Data Sharing
  • There’s an EAP version of the documentation as well
Posted in Early Access Preview | 2 Comments

Webinar: “Visual SQL Development with PyCharm” with Maxim Sobolevskiy

We talk about visual debugging, visual testing, etc. But… visual databasing? Indeed, PyCharm embeds DataGrip, our IDE for SQL development.

In this webinar Maxim Sobolevskiy, the DataGrip Product Marketing Manager, gives us a whirlwind tour of one of the most exciting parts of PyCharm that most of us don’t know enough about. DataGrip is not just magic, it’s wildly useful and productive magic. Maxim will show us how to put it to work.

  • Wednesday, November 6th
  • 6:00 PM – 7:00 PM CET (12:00 PM – 1:00 PM EST)
  • Register here
  • Aimed at SQL developers

webinar2019_watch the recording-17-2

Speaking To You

Maxim Sobolevskiy was an SQL developer for 10 years. Since the Summer of 2015 he does marketing for the JetBrains SQL IDE called DataGrip.

Posted in Webinar | Tagged | Leave a comment

Webinar Recording: “React+TypeScript+TDD in PyCharm”

Yesterday we had our webinar on React, TypeScript, and Test-Driven Development (TDD.) And…we had a special guest! Ekaterina Prigara, PMM for WebStorm, co-hosted and fielded most of the questions. Which was lucky for us: she really-really-really knows not just our IDE’s web development story, but all of these crazy technologies in the world of JavaScript.

The recording is now available. As a programming note, I’m giving this webinar next week for IntelliJ IDEA and in November for Rider. But I also plan to do a second part for PyCharm next month, as we only covered half of the tutorial material.

What We Covered

This session was particularly enjoyable with its focus on staying in “the flow”, using both TDD and type information to “fail faster”, and letting the IDE do your janitorial work for you.

  • 5m10s: Project Setup
  • 11m56s: Project Cleanup
  • 24m16s: Testing
  • 35m24s: Debugging During Testing
  • 53m26s: Debugging with Chrome
  • 55m23s: TSX and ES6

Feedback Solicited!

This is a departure from our normal format: all material published in advance (including narrated videos), repeating the same webinar topic across multiple topics, and splitting into two parts. It’s also less a survey-oriented webinar and more of a deep-dive tutorial-is webinar, from both the aspect of focusing on technologies and driving the IDE for those technologies.

Let us know what you think! Would you like more of these? Shorter and in more parts?

I say this because I’m wrapping up a similar multi-part “Visual Testing with pytest” tutorial and I’d like some kind of multi-webinar approach, if it’s considered valuable.

Posted in Webinar | Tagged | Leave a comment

Webinar Preview: “Class Components With Props” tutorial step for React+TS+TDD

As a reminder… this Wednesday (Oct 16) I’m giving a webinar on React+TypeScript+TDD in PyCharm. I’m doing some blog posts about material that will be covered.

webinar2019_watch-the-recording-171

See the first blog post for some background on this webinar and its topic.

Spotlight: Class Components With Props

As we saw in the previous step, child components get props from the parent, and when using TypeScript, you can model that contract with an interface. In his Class Components With Props tutorial step, we switch from a stateless functional component to a class component.

We do this change, of course, by first writing a failing test. Then, as we do the change, we use IDE features to speed us up, both in the test writing as well as the code changes. At no time do we switch to the browser and disrupt our “flow”.

Here’s the full video that accompanies the writeup and code:

Posted in Tutorial | Leave a comment

Webinar Preview: “Sharing Props Using Type Information” tutorial step for React+TS+TDD

As a reminder… next Wednesday (Oct 16) I’m giving a webinar on React+TypeScript+TDD in PyCharm. I’m doing some blog posts about material that will be covered.

webinar2019_watch-the-recording-171

See the first blog post for some background on this webinar and its topic.

Spotlight: Sharing Props Using Type Information

Now we get to some fun stuff: Sharing Props Using Type Information.

When you have lots of small components, they share information from parent “smart” components to child “dumb” (or presentation) components. This information is shared via properties, which forms the contract.

How do you write down that contract? This is where doing your React projects in TypeScript really shines. You can make an interface for your property information and say that your component’s properties conform to that interface. You gain IDE autocomplete, warnings, and more.

This really shines in TDD. You “fail faster” with visual squiggles that indicate you broke the contract, rather than waiting for the test to run.

This tutorial step shows a React functional component with property information in an interface, along with showing how to allow a default value for a prop. All done from a test-first workflow:

Posted in Tutorial | Leave a comment

Webinar Preview: “Functional React Components in TypeScript” tutorial step for React+TS+TDD

As a reminder… next Wednesday (Oct 16) I’m giving a webinar on React+TypeScript+TDD in PyCharm. I’m doing some blog posts about material that will be covered.

webinar2019_watch-the-recording-171

See the first blog post for some background on this webinar and its topic.

Spotlight: Functional React Components in TypeScript

Note: I’m skipping over a blog post for the tutorial step TSX and ES6 tutorial step. Should have started these spotlight blog posts sooner!

One thing is for sure about the React Zen: they promote lots and lots of tiny components. Which fits in very well with this tutorial’s TDD approach. Uncle Bob refers to this as the Single Responsibility Principle and SRP is mentioned frequently in React.

In the Functional React Components in TypeScript tutorial step we extract some markup and logic from the component into a Heading subcomponent. In this first step we don’t extract state or logic. We do, though, write tests first and learn a little more about the ways to interact with the DOM of a React component from within a test.

Here’s the narrated video for this step:

Posted in Tutorial | Leave a comment