Webinar Recording: “Demystifying Python’s async and await Keywords” with Michael Kennedy

Yesterday we hosted a webinar with Michael Kennedy from Talk Python To Me podcasts and training presenting Demystifying Python’s async and await Keywords. Turned out to be the highest-rated webinar in 7 years of JetBrains’ webinars. Thanks Michael! The webinar recording is now available, as well as a repository with the Python code he showed and the slides he used.

During the webinar, Michael laid the basis for async programming in Python, detailing CPU parallelism versus I/O parallelism. He showed the impacts of each on rendering time and how different forms of parallelism affect rendering times.

In the code, he started with a basic, naive function that ran horribly slow, then gradually sped it up with different Python techniques (generators, async/await, etc.) He also covered companion libraries that have emerged in the Python ecosystem.

For those who want a deep-dive on this topic, Michael has a 4 hour course Async Techniques and Examples in Python. He also has a thorough Mastering PyCharm.

Thanks so much to Michael for this well-prepared, well-presented webinar and staying late to handle the record-number of questions.

-PyCharm Team-
The Drive to Develop

Posted in Video, Webinar | Tagged | Leave a comment

PyCharm 2019.1 EAP 5

PyCharm’s Early Access Program (EAP) continues with its fifth version. Get it now from our website

New in This Version

All-new Jupyter Notebooks

Jupyter Notebooks

You may have read in our Python Developer Survey that over half of Python developers now use Python for data science. To better meet the needs of professional data scientists, we’ve been working hard on improving the data science experience in PyCharm. A lot of data science starts with Jupyter Notebooks, and we’re happy to present our all-new support for working with these in PyCharm.

Why did we rebuild them from the ground up?

Our previous support had several technical limitations that prevented us from offering a truly great Jupyter experience, and also kept us from fixing many of the bugs that were reported with them.

The all new support presents Jupyter notebooks as a side-by-side view of the code and its output, highlighting the matching cells as you navigate through the file. PyCharm can now offer you the full code intelligence you expect from your professional IDE.

Another new feature is debugging of Jupyter cells: you can place a breakpoint, and step through what is happening to explore your analysis in detail.

A Professional Feature

We want to dedicate a lot our efforts and resources to improving scientific tooling. For us to be able to do this, we’re moving Jupyter notebooks into PyCharm Professional Edition.  We’ve seen that the Jupyter notebook experience is essential to scientific Python users, and the group of scientific Python users is growing rapidly. We’ve made this decision to be able to meet the needs of data scientists better, and quicker.

We want your feedback!

Please try out this feature, and let us know how it fits your workflow. If you have any suggestions, please reach out to us by commenting on this post, or by going straight to our issue tracker.

What happens to the old Jupyter support?

As we are focusing our development efforts on making the new Jupyter notebooks experience as smooth as possible, we will no longer bundle the legacy support. The legacy code is available on GitHub, and Apache 2.0 licensed. We’d encourage anyone interested to fork this repo, and extend it as desired.

Further Improvements

  • There are some other improvements in this version, read the release notes here. We’ll discuss the new features in next week’s blog post.

Interested in Trying the New EAP?

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

With PyCharm 2019.1 we’re moving to a new runtime environment: this EAP build already bundles the brand new JetBrains Runtime Environment (a customized version of JRE 11). Unfortunately, since this build uses the brand-new platform, the patch-update from previous versions is not available this time. Please use the full installation method instead.

If you tried 2019.1 EAP 3 or an earlier EAP of 2019.1: you may get an error about “MaxJavaStackTraceDepth=-1” when you start the IDE. If you get it, please remove that line from the custom JVM options. This is an incompatibility between the old JRE and the new one, and we apologize for any inconvenience.

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.

PyCharm 2019.1 is in development during the EAP phase, therefore not all new features are already available. More features will be added in the coming weeks. As PyCharm 2019.1 is pre-release software, it is not as stable as the release versions. Furthermore, we may decide to change and/or drop certain features as the EAP progresses.

All EAP versions will ship with a built-in EAP license, which means that these versions are free to use for 30 days after the day that they are built. As EAPs are released weekly, you’ll be able to use PyCharm Professional Edition EAP for free for the duration of the EAP program, as long as you upgrade at least once every 30 days.

Posted in Early Access Preview | Tagged | 7 Comments

PyCharm 2018.3.5 RC

PyCharm 2018.3.5 release candidate is now available for download from Confluence.

New in This Version

  • If you have a private key with a passphrase, and would use to like native ssh rather than our built-in client for accessing remote git repositories, you’re now able to enter your passphrase in a dialog. This was previously only possible in combination with ssh-agent.
  • The behavior of search everywhere was adjusted to rank partial filename matches higher in the results. See IDEA-203491
  • The plugins redesign lead to issues with installing plugins offline. This has been resolved.
  • And more, see the release notes for details

Interested?

Download the RC from our confluence page
If you’re on Ubuntu 16.04 or later, you can use snap to get PyCharm RC versions and stay up to date. Find the installation instructions on our website.

The release candidate (RC) is not an early access program (EAP) build and does not bundle an EAP license. To use PyCharm Professional Edition RC, you will need a currently active PyCharm subscription. If none is available, a free 30-day trial will start.

Posted in Early Access Preview | Tagged | 4 Comments

PyCharm 2019.1 EAP 4

Our fourth Early Access Program (EAP) version for PyCharm 2019.1 is now available on our website.

New in This Version

Parallel and concurrent testing with pytest

695a0367-eed2-45e1-96ed-46c70fc6067e

PyCharm makes it easy to run tests quickly using multiprocessing (parallelism) and multithreading (concurrency). All you need to do in order to run your pytest tests in parallel is to install the pytest-xdist plugin as a normal python package using the PyCharm’s package manager, specify pytest as the project testing framework, create a pytest run/debug configuration where you can specify the number of CPUs to run the tests on, and you’re good to go.

Read more about setting up and running pytest tests in parallel in our help

Further Improvements

  • Many JavaScript improvements: PyCharm Professional Edition bundles all JavaScript features from WebStorm. You can read more about the new JavaScript features on the WebStorm blog.
  • Many platform improvements: PyCharm bundles new features and bug fixes coming from the IntelliJ platform
  • And more, read the release notes for details.

Interested?

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

With PyCharm 2019.1 we’re moving to a new runtime environment: this EAP build already bundles the brand new JetBrains Runtime Environment (a customized version of JRE 11). Unfortunately, since this build uses the brand-new platform, the patch-update from previous versions is not available this time. Please use the full installation method instead.

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.

PyCharm 2019.1 is in development during the EAP phase, therefore not all new features are already available. More features will be added in the coming weeks. As PyCharm 2019.1 is pre-release software, it is not as stable as the release versions. Furthermore, we may decide to change and/or drop certain features as the EAP progresses.

All EAP versions will ship with a built-in EAP license, which means that these versions are free to use for 30 days after the day that they are built. As EAPs are released weekly, you’ll be able to use PyCharm Professional Edition EAP for free for the duration of the EAP program, as long as you upgrade at least once every 30 days.

Posted in Early Access Preview | Tagged | 17 Comments

PyCharm 2019.1 EAP 3

Our third Early Access Program (EAP) version for PyCharm 2019.1 is now available on our website.

New in This Version

Inspect Large Collections in the Debugger

Large Collections

In previous versions of PyCharm, collections larger than 500 elements couldn’t be displayed in the debugger. This era has now ended, and the PyCharm debugger can now display elements in any collection. Of course if you have 170,000 elements, you may want to dive deeper with specific watches, or by using the debug console.

Further Improvements

  • When sorting imports, PyCharm would incorrectly group ujson with the system packages. This has now been fixed
  • Many JavaScript improvements. PyCharm Professional Edition bundles all JavaScript features from WebStorm. You can read more about the new JavaScript features on the WebStorm blog.
  • And more, read the release notes for details.

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.

PyCharm 2019.1 is in development during the EAP phase, therefore not all new features are already available. More features will be added in the coming weeks. As PyCharm 2019.1 is pre-release software, it is not as stable as the release versions. Furthermore, we may decide to change and/or drop certain features as the EAP progresses.

All EAP versions will ship with a built-in EAP license, which means that these versions are free to use for 30 days after the day that they are built. As EAPs are released weekly, you’ll be able to use PyCharm Professional Edition EAP for free for the duration of the EAP program, as long as you upgrade at least once every 30 days.

Posted in Early Access Preview | Tagged | 1 Comment

Webinar: “Demystifying Python’s async and await Keywords” with Michael Kennedy

Python has long had a variety of approaches for parallelism, with async/await and asyncio being the modern approach. These topics, though, are difficult to grasp and compare. Want to get to the bottom of it? Join expert Python trainer Michael Kennedy for an approachable, visual treatment of the topic.

  • Wednesday, February 20th, 2019
  • 6:00 PM – 7:00 PM CET (12:00 PM – 1:00 PM EST)
  • Register here
  • Aimed at intermediate/advanced Python users

webinar

The material in this webinar is a subset of Michael’s fast-paced and comprehensive Async Techniques and Examples in Python course at Talk Python Training.

Outline

Python’s async and parallel programming support is highly underrated. In this webcast, we will introduce the entire spectrum of Python’s parallel APIs. Then we will focus in on the most promising, most useful, and modern feature of Python’s async capabilities: the async and await keywords.

During the webcast, we will build a small application that interacts with web APIs using async and await. We’ll close it out by covering a library and technique that allows us to join Python’s disparate parallel APIs into one super API that is easier to work with.

Speaking To You

Michael is the host of Python Bytes and Talk Python to Me. He is also the founder of Talk Python training and a Python Software Foundation fellow. Michael has been working in the developer field for more than 20 years and has spoken at numerous conferences.

Posted in Uncategorized | Tagged | Leave a comment

PyCharm 2019.1 EAP 2

Our Early Access Program (EAP) continues, and we have some great features in this second version:

New in PyCharm

Syntax Highlighting in Vagrantfiles

Vagrant Highlighting

If you’re developing an application that will be deployed in a virtual machine, Vagrant is a great tool to automate the creation and deletion of your VM while you’re developing. Even though PyCharm has long had support for running Python code in a Vagrant box using the Vagrant interpreter, we haven’t had any support for Vagrantfiles until now.

Haven’t tried Vagrant before? Read our blog post on developing with Vagrant and Ansible, to prepare for deploying an application on Amazon EC2.

Sudo Support for SSH Interpreters

SSH Root

Writing some administration automation scripts? Or experimenting with GPIO on your Raspberry Pi? You’ll need root privileges to execute your scripts. PyCharm now let’s you run scripts with elevated privileges over SSH, letting you debug these scripts as easily as a any other script.

Further Improvements

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.

PyCharm 2019.1 is in development during the EAP phase, therefore not all new features are already available. More features will be added in the coming weeks. As PyCharm 2019.1 is pre-release software, it is not as stable as the release versions. Furthermore, we may decide to change and/or drop certain features as the EAP progresses.

All EAP versions will ship with a built-in EAP license, which means that these versions are free to use for 30 days after the day that they are built. As EAPs are released weekly, you’ll be able to use PyCharm Professional Edition EAP for free for the duration of the EAP program, as long as you upgrade at least once every 30 days.

Posted in Early Access Preview | Tagged | 2 Comments

PyCharm 2018.3.4

We’re happy to announce general availability of our latest update to PyCharm 2018.3. In this update we’ve fixed a couple of issues, and some other small updates.

New in This Version

  • Pasting a new name over a variable that was defined right after an indented block, would cause PyCharm to incorrectly indent the variable. See PY-22563.
  • In some cases inserting a newline in an f-string would lead to invalid code. See PY-32918.
  • PyCharm can now create Python 3.7 Conda environments
  • Many improvements in SQL support. Did you know that PyCharm Professional Edition bundles all features from JetBrains DataGrip in its Database tool window?
  • See the release notes for more details

Updating PyCharm

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 | Tagged | 6 Comments

PyCharm 2019.1 EAP Starts Now!

PyCharm development continues! As we are working on PyCharm 2019.1, we’d like to invite you to try what we’ve worked on so far. Our EAP helps you to try new features before they’re in the stable release, and you can help us by letting us know how we’re doing.

New in PyCharm

Conda Environment Activation in the Terminal

Conda Activation

We hope that most of you have already seen this feature for virtualenvs and pipenvs. In PyCharm 2019.1, this is also available for those of you who use Conda environments. Open the built-in terminal (Alt+F12), and immediately run any CLI tools that are available in your project’s conda env, we’ve already activated it for you.

Dataclass Inheritance

Dataclass Inheritance

Dataclasses are a Python 3.7 feature that made development of simple classes a lot easier. In cases where you have many alike objects, inheritance is a great way to adhere to the DRY (don’t repeat yourself) principle. PyCharm now correctly provides code completion for inherited dataclasses.

Not on Python 3.7 yet? Code completion is also available for inherited classes that use the attrs library.

PyPI Package for Remote Debug Server

If you’d like to debug your code, but you can’t use a remote interpreter, the remote debug server option is there for you. For example, this allows you to debug an application served through uWSGI.

Up until now, it was necessary to manually copy a .egg file to the remote host and ensure it’s on the PYTHONPATH. We’ve added an additional option: you can install pydevd-pycharm from PyPI to get the necessary prerequisites for this style of debugging. See the docs for more information.

Further Improvements

  • PyCharm now allows the creation of Python 3.7 Conda environments
  • There was an issue that prevented the execution of any remote process that needs elevation after an empty sudo password was mistakenly saved. This issue has been resolved.
  • Various usability issues related to multiline TODOs were fixed
  • And much more, see the release notes for details.

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.

PyCharm 2019.1 is in development during the EAP phase, therefore not all new features are already available. More features will be added in the coming weeks. As PyCharm 2019.1 is pre-release software, it is not as stable as the release versions. Furthermore, we may decide to change and/or drop certain features as the EAP progresses.

All EAP versions will ship with a built-in EAP license, which means that these versions are free to use for 30 days after the day that they are built. As EAPs are released weekly, you’ll be able to use PyCharm Professional Edition EAP for free for the duration of the EAP program, as long as you upgrade at least once every 30 days.

PyCharm 2018.3.4 RC

If you’d like to take a more conservative approach, and you’d only like to try important bugfixes, we’re also presenting the release candidate for PyCharm 2018.3.4. Bugs fixed:

  • Pasting a new name over a variable that was defined right after an indented block, would cause PyCharm to incorrectly indent the variable. See PY-22563.
  • In some cases inserting a newline in an f-string would lead to invalid code. See PY-32918.
  • PyCharm can now create Python 3.7 Conda environments
  • Many improvements in SQL support. Did you know that PyCharm Professional Edition bundles all features from JetBrains DataGrip in its Database tool window?
  • See the release notes for more details

You can download the release candidate from our Confluence page.

Posted in Early Access Preview | Tagged | 1 Comment

Webinar Recording: “Live Development of a PyCharm Plugin” with Joachim Ansorg

This week we hosted a webinar with Joachim Ansorg presenting Live Development of a PyCharm Plugin. The webinar recording is now available, as well as a repo with the contents he showed in the webinar.

w

This webinar covered a tremendous amount of ground in just over an hour:

  • Background and architecture of IntelliJ plugins
  • Development using tests
  • Implementing interesting extension points
  • Viewing the plugin in the IDE (PyCharm)

The chosen topic was interesting in its own right: a plugin to let you suppress flake8 warnings using the standard # noqa comment syntax.

Thanks go to Joachim for spending his time with us and showing how even a small IDE plugin can easily justify the investment by saving developer time. He writes IntelliJ plugins professionally, and based on the feedback from companies we’ve referred to him, he does so quite well.

-PyCharm Team-
The Drive to Develop

Posted in Video, Webinar | Tagged | Leave a comment