Nouveautés de PyCharm 2025.1

Un seul PyCharm pour tous, un niveau d'IA gratuit, la sortie officielle de Junie, le lancement de Cadence, des améliorations de PyCharm pour Jupyter, la prise en charge de Hatch et l'implémentation de Data Wrangler.

Points forts de la version

Un PyCharm unifié : profitez des fonctionnalités Pro pendant un mois

PyCharm est maintenant un produit puissant et unifié ! Ses fonctionnalités essentielles, notamment la prise en charge des notebooks Jupyter, seront gratuites. Un abonnement Pro sera disponible avec des fonctionnalités supplémentaires. À partir de la version 2025.1, chaque utilisateur bénéficiera d'un accès instantané à un essai gratuit d'un mois de la version Pro : vous pourrez ainsi accéder immédiatement à toutes les fonctionnalités avancées de PyCharm. Après l'essai, vous pourrez choisir de continuer avec un abonnement Pro ou de continuer à utiliser les fonctionnalités de base gratuitement. Apprenez-en plus sur le changement dans cet article de blog.

Junie, votre agent de programmation personnel Pro

Junie, l'agent de programmation de JetBrains, est maintenant disponible dans PyCharm via JetBrains AI. Junie planifie, écrit, affine et teste le code de manière autonome pour rendre votre expérience de développement fluide, efficace et agréable. Il gère des tâches fastidieuses comme la restructuration du code, la création de tests et l'implémentation d'améliorations, afin que vous puissiez vous concentrer sur des défis plus importants et l'innovation.

PyCharm goes AI

JetBrains AI a fait l'objet d'une mise à jour majeure, rassemblant l'AI Assistant et Junie sous un seul abonnement. Dans cette version, toutes les fonctionnalités JetBrains AI sont accessibles gratuitement dans PyCharm Pro, avec une utilisation illimitée pour certaines, comme la saisie semi-automatique du code et la prise en charge des modèles locaux, et un accès limité basé sur des crédits pour d'autres. Nous introduisons également un nouveau système d'abonnement qui facilite l'évolution selon les besoins avec les niveaux AI Pro et AI Ultimate.

Cadence : exécution sans effort dans le cloud pour les workflows ML Pro

Vous pouvez désormais exécuter votre code de machine learning sur du matériel cloud puissant directement à partir de PyCharm en quelques minutes, sans configuration complexe ni expertise du cloud. Le plugin Cadence simplifie les workflows ML, et vous permet de vous concentrer sur votre code tout en exploitant des ressources informatiques évolutives.

En savoir plus sur Cadence.

Data Wrangler Pro

Nous avons implémenté Data Wrangler, un outil puissant pour aider les professionnels des données Python à simplifier la manipulation des données et à se concentrer sur des analyses avancées. Affichez et analysez vos données, explorez les statistiques et les visualisations de colonnes, et générez automatiquement du code Python pour les transformations.

Utilisez l'interface utilisateur interactive pour effectuer des transformations courantes de dataframe, telles que le filtrage, le nettoyage des données, la gestion des valeurs aberrantes et plus encore, sans écrire de code répétitif. Vous pouvez également suivre l'historique des modifications, exporter des données dans un format pratique et insérer des transformations en tant que nouvelles cellules dans votre notebook.

En savoir plus sur Data Wrangler.

Cellules SQL dans les notebooks Pro

PyCharm 2025.1 introduit les cellules SQL. Ce nouveau type de cellule vous permet d'interroger des bases de données, des dataframes et des fichiers CSV joints dans les notebooks Jupyter et d'enregistrer automatiquement les résultats de la requête dans les DataFrames pandas.

Prise en charge de Hatch

Nous inaugurons la prise en charge de Hatch, un gestionnaire de projet Python moderne et extensible de la Python Packaging Authority (PyPA). Hatch peut migrer automatiquement les configurations setuptools, créer des environnements isolés et exécuter et publier des builds, améliorant ainsi l'efficacité de la gestion des paquets Python.

PyCharm vous permet également de créer des projets gérés par Hatch. L'IDE reconnaîtra automatiquement les projets Hatch importés à partir d'une machine locale ou d'une source distante.

Notebooks Jupyter

Améliorations de la prise en charge des notebooks Jupyter

Nous améliorons continuellement l'expérience globale des développeurs utilisant des notebooks Jupyter. Dans cette version, nous avons introduit les fonctionnalités suivantes :

  • La possibilité de lancer des serveurs Jupyter avec un interpréteur uv, en nous appuyant sur la prise en charge existante d'uv.
  • La fonctionnalité de glisser-déposer pour réorganiser les cellules Jupyter directement à l'aide de la barre dans la gouttière.
  • L'option Commit without outputs, qui efface automatiquement les résultats de l'exécution de la cellule avant le commit, est disponible dans le menu qui s'affiche lorsque vous cliquez sur l'icône d'engrenage.
  • Des couleurs personnalisables pour les arrière-plans de notebook, les cellules de code, les lignes sélectionnées et les bordures de cellule.
  • Une barre d'outils de gestion par cellule qui fournit des actions spécifiques adaptées au type de cellule sélectionné. Pro
  • Nouveaux états de cellule Crashed et Queued dans la vue Structure pour les notebooks.
  • Une barre d'outils de mise en forme flottante qui s'affiche lorsque du texte est sélectionné dans des cellules Markdown, ainsi qu'une apparence plus propre pour les cellules Markdown vides.
  • Un bouton Shut down Kernel, ajouté à la barre d'outils principale.

Améliorations de la configuration du serveur Jupyter Pro

Nous avons renforcé la simplicité et la transparence des paramètres de configuration du serveur Jupyter. Vous pouvez désormais ajouter plusieurs configurations de serveur géré ou distant et basculer facilement entre elles.

Citons parmi les autres améliorations :

  • La prise en charge de la connexion à des serveurs distants via un proxy.
  • La nouvelle prise en charge des connexions à distance AWS SageMaker.
  • Le système de fichiers amélioré pour les serveurs Jupyter distants.
  • La possibilité d'exécuter des notebooks sur les serveurs Jupyter de Kaggle.

Améliorations du débogueur Jupyter

  • Fonctionnalité Run to caret.
  • Possibilité de déboguer les cellules Jupyter ligne par ligne, grâce au fait que PyCharm place désormais automatiquement un point d'arrêt sur la première ligne des cellules Jupyter si aucun point d'arrêt n'est déjà défini.
  • Correctifs pour de nombreux problèmes.
  • Prise en charge du débogage et de la vue Variables pour les instances Jupyter distantes. Pro

Science des données

Possibilité de formater le code SQL intégré dans Python Pro

La version 2025.1 vous permet de formater le code SQL intégré dans Python en fonction du style de code que vous avez spécifié. Cela assure une bonne cohérence et une meilleure lisibilité lors de l'utilisation de SQL dans des scripts Python.

Option rapide pour ouvrir de nouveaux onglets Data View Pro

Vous pouvez à présent créer rapidement des onglets dans la fenêtre d'outils Data View à l'aide du bouton + situé à côté des onglets existants. Un onglet supplémentaire peut être utile, car il offre un emplacement pratique pour évaluer des tableaux NumPy, des DataFrames pandas et d'autres types de données en saisissant simplement un nom de variable ou une expression.

Possibilité d'afficher les tableaux NumPy et les tenseurs sous forme d'images

Lorsque vous déboguez des applications qui manipulent des images, vous pouvez utiliser l'action View as Image pour afficher les images dans le débogueur sans avoir à ajouter de code. Cette action fonctionne pour les tableaux NumPy et les bibliothèques suivantes : PyTorch, TensorFlow, Matplotlib, Seaborn, OpenCV, Pillow, ImageIO et scikit-image. Pour l'utiliser, il suffit de cliquer droit sur une variable de données en mode débogage et de sélectionner View as Image.

Outils de base de données

Introspection par niveaux pour MySQL et MariaDB Pro

Nous poursuivons notre travail pour améliorer les performances d'introspection. La version 2025.1 introduit plusieurs niveaux d'introspection pour MySQL et MariaDB, et ajuste automatiquement la quantité de métadonnées chargées en fonction de la taille de votre base de données. En d'autres termes, nous ne chargerons pas toutes les métadonnées si votre base de données est volumineuse. Cela réduira considérablement le temps d'introspection et vous permettra de commencer immédiatement à travailler avec les sources de données nouvellement connectées. Pour en savoir plus sur les niveaux et sur la personnalisation de votre expérience, visitez cette page.

Prise en charge du mappeur objet-relationnel SQLAlchemy

Cette version améliore l'intégration de PyCharm avec SQLAlchemy : elle lui permet de reconnaître automatiquement les types d'objets de base de données. Cette amélioration permet une saisie semi-automatique précise pour les colonnes de base de données et les résultats des requêtes, ce qui améliore considérablement votre expérience avec les projets basés sur ORM.

Django Pro

Prise en charge des indications de type dans request.user

PyCharm applique désormais automatiquement les bonnes indications de type pour request.user en fonction de AUTH_USER_MODEL s'il est spécifié dans le fichier de paramètres Django, ce qui améliore la saisie semi-automatique du code et la vérification du type pour les modèles d'utilisateurs personnalisés.

Prise en charge de la déclaration de route pour le framework Django Ninja

Il est maintenant possible de déclarer des points de terminaison dans les projets Django à l'aide du framework Django Ninja. Cela étend la détection des points de terminaison de PyCharm pour s'aligner sur les meilleures pratiques et permet aux développeurs backend et full-stack de gérer leurs points de terminaison directement dans la fenêtre d'outils Endpoints de PyCharm.

AI Assistant

Sélection élargie des LLM dans le chat

La sélection de modèles d'IA dans le chat vient d'être élargie ! Vous pouvez à présent prendre le contrôle total de votre expérience d'IA en choisissant parmi les modèles de langage les plus récents et les plus avancés, notamment :

  • Claude 3.7 Sonnet
  • OpenAI GPT-4.1 (próximamente)
  • Gemini 2.0 Flash

Et nous ne nous arrêtons pas là ! JetBrains s'engage à intégrer en permanence des modèles d'IA pour vous assurer un accès aux technologies d'IA les plus récentes.

Mode hors ligne : travailler avec des modèles locaux

L'AI Assistant vous offre la possibilité de travailler avec des modèles locaux hors ligne ou de tirer parti du traitement par une IA dans le cloud. Avec le nouveau mode hors ligne, vous pouvez désormais travailler sans connexion Internet tout en bénéficiant de l'assistance au codage par IA. Utilisez des modèles locaux via Ollama ou LM Studio pour le chat, la génération de code, les messages de commit, la documentation inline, etc.

Modifications de plusieurs fichiers en mode édition

Modifier plusieurs fichiers n'a jamais été plus facile ! L'AI Assistant prend désormais en charge les modifications de plusieurs fichiers dans le chat. Il suggère des modifications dans votre projet et tire parti de la génération augmentée de récupération (RAG) pour localiser les fichiers les plus pertinents. Réduisez les tâches répétitives et implémentez des modifications sur plusieurs fichiers en une seule interaction.

Graphiques rapides générés par IA dans les tables Jupyter Pro

Vous pouvez désormais générer des aperçus de graphique pour les tables dans les notebooks Jupyter en cliquant sur AI Quick Charts. L'AI Assistant exploite les métadonnées des dataframes pour suggérer des visualisations, en intégrant les graphiques résultants directement dans le widget de la table pour vous en offrir des aperçus instantanés. Cliquez sur un graphique généré pour insérer le code correspondant dans votre notebook.

Amélioration de la génération de code dans les notebooks Jupyter Pro

Le code généré par l'IA est maintenant divisé logiquement en plusieurs cellules, y compris des cellules Markdown, ce qui permet de s'aligner plus naturellement sur les workflows des notebooks.

Option permettant d'exclure des fichiers du contexte de l'AI Assistant

Vous pouvez encore mieux contrôler ce que l'AI Assistant voit en configurant un fichier .aiignore. Cela permet d'empêcher JetBrains AI d'accéder à des fichiers ou des dossiers spécifiques, afin de vous assurer que les informations sensibles ne sont jamais traitées.

Recherche web depuis le chat

Avec la nouvelle commande /web, l'AI Assistant peut désormais récupérer de la documentation, des conseils pour la résolution de problèmes et les dernières ressources techniques directement depuis le web, dans votre fenêtre de chat. Plus besoin de changer d'onglet ou de lancer une recherche manuelle !

Application d'extraits de code depuis le chat

Désormais, lorsque le chat IA vous suggère un extrait de code, vous pouvez utiliser le bouton Apply pour trouver automatiquement l'emplacement optimal pour insérer le code qui vient d'être généré, ce qui vous évite d'avoir à faire un copier-coller manuellement. Cette fonctionnalité simplifie considérablement votre workflow.

Meilleure prise en compte du contexte par l'IA

L'AI Assistant comprend désormais l'intégralité de votre projet et utilise la solution RAG avancée pour présenter les fichiers, les méthodes et les classes les plus pertinents. De plus, le contexte inclut désormais les fichiers récemment consultés, ce qui rend les interactions encore plus pertinentes pour votre workflow. Comme vous pouvez à présent ajouter ou supprimer des pièces jointes envoyées en tant que contexte, vous gardez un contrôle total sur le contexte de l'IA.

Expérience utilisateur

Nouvelle architecture de terminal Bêta

La version 2025.1 introduit une architecture de terminal remaniée, disponible en version bêta. Le terminal fonctionne désormais sur un noyau stable conforme aux normes, et il utilise l'éditeur de l'IDE pour afficher l'interface utilisateur. Ce changement nous permet d'introduire de nouvelles fonctionnalités tout en préservant la compatibilité et les performances sur diverses plateformes, qu'elles soient locales ou distantes. Vous trouverez plus d'informations sur nos projets et notre progression dans cet article de blog.

Boîtes de dialogue de fichiers natives de Windows

PyCharm utilise désormais par défaut les boîtes de dialogue de fichiers natives de Windows au lieu de l'implémentation personnalisée de l'IDE. Cela offre une expérience plus familière lors de l'ouverture ou de l'enregistrement des fichiers. Si vous préférez le comportement précédent, vous pouvez le restaurer dans Advanced Settings | User Interface.

Création d'un fichier dans la fenêtre d'outils Project

La création d'un nouveau fichier est maintenant plus pratique. Vous pouvez accéder à la fenêtre contextuelle répertoriant les modèles de fichiers disponibles directement à partir de la barre d'outils de la fenêtre Project à l'aide de l'icône +. Le champ de recherche vous permet de filtrer et de trouver rapidement le type de fichier dont vous avez besoin.

Mises à jour automatiques des plugins

Vous pouvez configurer PyCharm pour qu'il mette automatiquement à jour les plugins en arrière-plan. Il téléchargera les mises à jour disponibles et les appliquera au prochain redémarrage de l'IDE sans notifications supplémentaires. Vous pouvez activer les mises à jour automatiques en cochant la case Enable auto-update dans la boîte de dialogue de mise à jour ou dans File | Settings | Appearance & Behavior | System Settings | Updates.

Possibilité d'exporter des enregistrements Kafka directement au format JSON, CSV et TSV Pro

PyCharm vous permet à présent d'exporter des enregistrements Kafka directement vers des fichiers JSON, CSV et TSV, ce qui facilite l'analyse et le partage des données de streaming. L'IDE peut sauvegarder des détails d'enregistrement complets, notamment le sujet, l'horodatage, la clé, la valeur, la partition et le décalage, dans des formats largement utilisés. Grâce à cette mise à jour, vous pouvez diagnostiquer les problèmes plus rapidement, vérifier l'intégrité des données, activer une analyse avancée et simplifier la collaboration, car l'exportation d'enregistrements Kafka permet de garantir l'accessibilité et l'exploitabilité des données. En accélérant le temps de résolution et en augmentant la transparence des données, cette amélioration renforce l'efficacité de l'expérience Kafka.

Expérience utilisateur améliorée pour les requêtes HTTP générées Pro

Le client HTTP ouvre désormais les requêtes HTTP générées à partir du code dans la partie droite de l'éditeur. Vous n'avez plus besoin de les examiner dans un onglet séparé.

Systèmes de contrôle de version

Détails du commit dans la vue diff

Vous pouvez désormais voir les détails du commit directement dans la vue diff. La boîte de dialogue diff affiche le message de commit, l'auteur, la date et l'heure, ainsi que le hachage complet du commit, pour vous offrir une vue plus claire de l'historique d'un fichier et vous aider à comprendre plus rapidement les modifications.

Possibilité d'exécuter des outils pour les vérifications de pré-commit

Vous pouvez désormais lancer n'importe quel outil pour effectuer une vérification de pré-commit en plus des inspections et de la mise en forme. Les vérifications personnalisées peuvent être configurées en tant que configurations d'exécution dans la boîte de dialogue Run Configuration. Vous pouvez ainsi détecter rapidement les problèmes potentiels et vous assurer que votre code répond aux normes du projet avant d'être validé.

Option permettant de désactiver l'exécution des hooks de commit Git

Une nouvelle option vous permet d'indiquer à l'IDE de ne pas exécuter de hooks de commit Git. Auparavant, les hooks Git s'exécutaient automatiquement pendant les opérations de commit, ce qui n'est peut-être pas souhaitable dans toutes les situations. Cette modification vous permet désormais de configurer l'IDE pour ignorer ces hooks, et vous donne plus de contrôle sur votre processus de commit.

Autres fonctionnalités

PyPackage : installation des paquets manquants depuis la console

Si vous essayez d'exécuter du code sans installer les paquets nécessaires, l'IDE vous suggère désormais de les installer directement à partir de la console Python ainsi que de la fenêtre d'outils Run ou Debug, afin de fluidifier votre workflow.

Points de terminaison FastAPI : prise en charge de mount Pro

La fenêtre d'outils Endpoints prend désormais en charge les applications montées dans FastAPI, notamment les applications Django et Flask. Les routes montées sont détectées et affichées dans la fenêtre d'outils Endpoints avec les préfixes de chemin appropriés, ce qui facilite la gestion des projets à plusieurs applications.

Correctifs de bugs

  • [PY-54850] Package requirement is not satisfied when the package name differs from what appears in the requirements file with respect to whether dots, hyphens, or underscores are used.
  • [PY-56935] Functions modified with ParamSpec incorrectly report missing arguments with default values.
  • [PY-76059] An erroneous Incorrect Type warning is displayed with asdict and dataclass.
  • [PY-34394] An Unresolved attribute reference error occurs with AUTH_USER_MODEL.
  • [PY-73050] The return type of open("file.txt", "r") should be inferred as TextIOWrapper instead of TextIO.
  • [PY-75788] Django admin does not detect model classes through admin.site.register, only from the decorator @admin.register.
  • [PY-65326] The Django Structure tool window doesn't display models from subpackages when wildcard import is used.