Early Access Program Releases

PyCharm 2024.1 EAP 5: Model Cards for Hugging Face Models, Updates for the HTTP Client, and More

Our new EAP build for PyCharm 2024.1 is now available for you to download!

Packed with numerous new features and enhancements, PyCharm 2024.1 EAP 5 brings model cards for Hugging Face models and datasets, extended support for GitHub Actions, updates to the HTTP Client, and much more. We invite you to download this build and explore the fresh additions to the IDE.

You can download the new version from our website, update directly from the IDE or via the free Toolbox App, or use snaps for Ubuntu.

Download PyCharm 2024.1 EAP

Let’s dive into the extensive list of updates introduced in this build.

Hugging Face: Model cards for models and datasets

Get all the information about any Hugging Face models or datasets you’re working with right inside PyCharm. Hover over a dataset or model name to view the description in a popup, or press F1 to open the Documentation tool window next to the editor. To navigate to the documentation on the Hugging Face website, use Cmd + Click (Ctrl + Click on Windows and Linux).

Frameworks and technologies

Enhanced GitHub Actions support

We’ve enhanced support for GitHub Actions in the latest EAP release of PyCharm. Our developments focus on enriching your CI/CD workflows by providing increased efficiency and intelligent features designed specifically for GitHub Actions. Let’s delve into the details.

Workflow context support

Our latest update introduces extensive autocompletion support for various GitHub Action contexts, including github.*, env.*, steps.*, and inputs.*

This simplifies the process of scripting complex workflows and reduces the time developers spend searching for context-specific syntax and parameters.

You can also swiftly complete YAML structures and ensure your workflow scripts are error-free. 

Branding feature for action.yml

You can customize the appearance of your actions on GitHub with specific icons and color indicators directly in the YAML file using the branding feature. This functionality enables action creators to visually distinguish their actions in GitHub Marketplace and workflows, making them more recognizable and user-friendly. By specifying an icon and a color in the action.yml file, developers can convey the purpose of their actions at a glance, enhancing the overall user experience. This visual customization helps categorize actions and aids users in quickly identifying the tools they need for their CI/CD pipelines.

Docker image completion

This enhancement provides image and tag suggestions within GitHub workflow files, making it easier to integrate Docker containers into your actions.

JavaScript file path completion

File path completion automatically suggests file paths, simplifying configuring JavaScript actions and streamlining workflow execution.

HTTP Client improvements 

The HTTP Client now offers more authentication options, including the PKCE Authorization Code and Device Grant flows. It also supports extra parameters for token and authentication requests.

Now, the HTTP Client automatically handles the generation of code_challenge and passes code_verifier for token retrieval during PKCE requests.

We’ve upgraded the HTTP Client to utilize Netty as its low-level networking library. With support for SSL, proxies, and HTTP/2, this change allowed us to implement HTTP/2 support in the HTTP Client.

In addition, we’ve updated the appearance of the HTTP Client toolbar to align it with the new UI style, offering a more polished and cohesive look.

Optimized JSON schema processing 

To enhance user experience with JSON files, we’ve optimized the code behind JSON schema validation and completion. As a result, the IDE now handles this task faster and with reduced memory consumption. In real-life files with Azure Pipelines, schema inspections are now 10x faster.

Frontend development

Vue Language Server is now enabled by default

In previous versions of PyCharm, the Vue Language Server was automatically enabled only for those projects that explicitly list TypeScript 5+ in a project’s dependencies (package.json). Starting with EAP 5, the Vue Language Server is enabled by default for all Vue (including Nuxt-based) projects.

The Vue Language Server has some known limitations in Vue 2 projects. Please let us know if you experience any problems. You can opt out of using the server in Settings | Languages & Frameworks | TypeScript | Vue:

Component usages for Vue, Svelte, and Astro components

We’ve added a Component usages Code Vision hint, which is available in Vue, Svelte, and Astro files. Using the hint, you can quickly look for usages of a specific component anywhere in the project:

Enhancements to the Structure tool window for React and JSX

The Structure tool window now displays React components and hooks, along with the structure of JSX. This includes nodes for conditional rendering and list rendering: 

Other JSX-powered libraries such as Preact and Solid are also supported.

Generate arrow functions with the Extract Method refactoring

The Extract Method refactoring now introduces an in-place option to generate the extracted function as an arrow function:  

These are the highlights of this week’s EAP build. You can also check out the release notes for the full list of implemented changes.  

Take the new features for a test drive, share your feedback with us via X (formerly Twitter) or in the comments below, and stay tuned for more updates! If you spot a bug, report it to our issue tracker

image description