Anthropic publie la version 1.0 de son SDK Python pour l’API Claude. Cette étape stabilise l’interface principale, relève la version minimale de Python à 3.10 et retire plusieurs mécanismes anciens, avec des changements à anticiper avant toute mise à niveau en production.
Une version majeure qui impose une migration
Le paquet anthropic 1.0.0 est disponible depuis le 20 août sur PyPI et dans le dépôt GitHub officiel. Il sert à appeler l’API Claude depuis une application Python, notamment pour envoyer des messages, utiliser des outils ou traiter des réponses en flux.
Le principal changement interne concerne la couche HTTP. Anthropic remplace httpx par httpx2, présenté comme un fork maintenu et compatible avec l’API existante. Les applications qui injectent leur propre client HTTP, personnalisent les transports ou utilisent des bibliothèques de traçage qui modifient directement httpx devront cependant vérifier leur intégration. Une fonction d’alias est prévue pour certains outils de test et d’observabilité.
La version 1.0 abandonne aussi Python 3.9. Les environnements doivent désormais utiliser Python 3.10 ou une version plus récente. Ce seuil peut obliger à mettre à jour des images de conteneur, des fonctions serverless ou des distributions Linux encore conservées pour leur stabilité.
Des interfaces anciennes disparaissent
Anthropic profite de cette version majeure pour retirer l’ancienne API Text Completions du SDK. Les applications concernées doivent passer par Messages, l’interface actuelle de la plateforme. Certains paramètres historiquement exposés sur les méthodes Messages, dont temperature, top_p et top_k, ne sont plus acceptés de la même manière dans cette surface du client.
Le comportement asynchrone des réponses brutes évolue également. Lorsqu’une application utilise with_raw_response, l’analyse de la réponse doit maintenant être attendue explicitement avec await. Ce changement paraît limité, mais il peut provoquer une erreur immédiate dans les tests ou au démarrage d’un traitement si le code conserve l’ancien appel synchrone.
Les utilisateurs d’Amazon Bedrock disposent d’un autre garde-fou. Le client AnthropicBedrock ne choisit plus automatiquement la région us-east-1 lorsqu’aucune région AWS n’est configurée. Il lève désormais une erreur, ce qui rend une mauvaise configuration visible au lieu d’envoyer silencieusement les requêtes vers une région par défaut.
Tester avant de changer la dépendance
Le numéro 1.0 ne signifie pas que toutes les migrations seront transparentes. Une équipe devrait d’abord lire le guide officiel, figer la version actuelle dans son gestionnaire de dépendances, puis exécuter ses tests avec la nouvelle branche. Les points sensibles sont les clients HTTP personnalisés, l’observabilité, les appels asynchrones, Bedrock et tout code encore lié à Text Completions.
Pour un projet récent qui utilise déjà Messages et une version moderne de Python, la transition devrait rester circonscrite. Pour un service ancien, cette publication fournit surtout une échéance claire : moderniser les appels avant de profiter des prochaines évolutions du SDK.
Sources : publication officielle Anthropic sur GitHub et fiche du paquet anthropic 1.0.0 sur PyPI.
