IPython est un projet de logiciel libre qui cherche à:
Fournir un shell interactif supérieure à défaut de Python. IPython possède de nombreuses fonctionnalités pour objet l'introspection, l'accès au shell du système, et de son propre système de commande spéciale pour l'ajout de fonctionnalités pour travailler de manière interactive. Il essaie d'être un environnement très efficace tant pour le développement de code Python et pour l'exploration de problèmes en utilisant des objets Python (dans des situations telles que l'analyse de données).
Servir comme un noyable, prêt à l'emploi interprète pour vos propres programmes. IPython peut être démarré avec un seul appel de l'intérieur d'un autre programme, donnant accès à l'espace de noms courant. Cela peut être très utile à la fois à des fins de débogage et pour les situations où un mélange de traitement par lots et l'exploration interactive sont nécessaires.
Offrir un cadre flexible qui peut être utilisé comme environnement de base pour d'autres systèmes avec Python que le langage sous-jacent. Environnements spécifiquement scientifiques comme Mathematica, IDL et Mathcad inspiré sa conception, mais des idées similaires peuvent être utiles dans de nombreux domaines.
Autoriser tests interactifs des toolkits graphiques filetés. IPython a un support pour interactive, non bloquant le contrôle des applications GTK, Qt et WX via drapeaux de filetage spéciales. Le shell Python normale ne peut le faire pour des applications Tkinter
Caractéristiques :.
- objet dynamique introspection. On peut accéder docstrings, prototypes de définition de fonction, le code source, fichiers source et d'autres détails de tout objet accessible à l'interprète avec une seule touche ('?').
- achèvement dans l'espace local, en tapant TAB à l'invite. Cela fonctionne pour les mots clés, les méthodes, les variables et les fichiers dans le répertoire courant. Ce est pris en charge via la bibliothèque readline, et le plein accès à la configuration du comportement de readline est fourni.
- entrée numérotée / sortie invite avec l'histoire de commande (persistant à travers les sessions et attaché à chaque profil), la recherche plein dans cette histoire et la mise en cache de toutes les entrées et les sorties.
- utilisateur extensible «magie» des commandes. Un ensemble de commandes avec le préfixe% est disponible pour contrôler IPython lui-même et assure le contrôle de répertoire, des informations d'espace de noms et de nombreux alias à des commandes shell du système commun.
- installation Alias pour définir vos propres alias du système.
- Accès complet shell système. Les lignes commençant avec! sont transmis directement à l'enveloppe du système, et en utilisant !! capture de sortie shell en variables python pour une utilisation ultérieure.
- l'exécution en arrière-plan des commandes Python dans un thread séparé. IPython a un gestionnaire de l'emploi interne appelé emplois, et un confort semi-finition fonction magique appelé% bg.
- La possibilité d'étendre les variables python lors de l'appel du shell système. Dans une commande shell, toute variable python avec le préfixe $ est élargi. Un double $$ permet de passer un $ littéral à la coque (pour l'accès à Shell et variables d'environnement comme $ PATH).
- Navigation de système de fichiers, via une commande de magie, avec un système de signet persistante (en utilisant% signet) pour un accès rapide aux répertoires fréquemment visité.
- indentation automatique (en option) d'un code que vous tapez (par la bibliothèque readline).
- Système macro pour rapidement ré-exécuter plusieurs lignes de l'entrée précédente avec un seul nom.
- documentation de la session (vous pouvez alors utiliser plus tard ces journaux code dans vos programmes).
- Session restauration:. Les journaux peuvent être rejouées pour restaurer une session précédente, à l'état où vous l'avez laissé
- verbeux et colorés impressions exception de retraçage. Facile à analyser visuellement et en mode verbose qu'ils produisent beaucoup d'informations utiles de débogage (essentiellement une version borne du module de cgitb).
- Auto-parenthèses: objets appelables peuvent être exécutées sans parenthèses:. «Péché 3 'est automatiquement converti au« péché (3)'
- Auto-citer: l'aide »,« que les premières forces de caractère auto-citant du reste de la ligne: «ma_fonction ab 'devient automatiquement« ma_fonction (& quot; un & quot;, & quot; b & quot;)'
- la syntaxe d'entrée extensible. Vous pouvez définir des filtres que l'entrée de l'utilisateur de pré-processus pour simplifier la saisie dans des situations particulières. Cela permet, par exemple, coller des fragments de code multi-lignes qui commencent par '& gt; & gt; & gt;' ou '...' tels que ceux des autres séances de python ou la documentation standard de Python.
- système de configuration flexible. Il utilise un fichier de configuration qui permet un réglage permanent de toutes les options en ligne de commande, chargement du module, le code et l'exécution de fichiers. Le système permet l'inclusion de fichier récursive, de sorte que vous pouvez avoir un fichier de base avec les défauts et les couches qui chargent d'autres personnalisations pour des projets particuliers.
- exportable. Vous pouvez appeler IPython comme une coquille de python intérieur de vos propres programmes de python. Ceci peut être utilisé à la fois pour le débogage du code ou pour fournir des capacités interactives pour vos programmes avec des connaissances sur les espaces de noms locaux (très utile dans des situations de débogage et d'analyse des données).
- Accès débogueur facile. Vous pouvez définir IPython pour appeler le débogueur de Python (pdb) à chaque fois qu'il ya une exception non interceptée. Cela vous tombe dans le code qui a déclenché l'exception avec toutes les données en direct et il est possible de parcourir la pile d'isoler rapidement la source d'un bug. Le terme% commande magique -avec l'option--d peut exécuter ne importe quel script sous le contrôle de pdb, réglage automatique des points d'arrêt initiaux pour vous.
- le soutien de Profiler. Vous pouvez exécuter des instructions simples (similaires à profile.run ()) ou des programmes complets sous le contrôle de l'éditeur de profil. Alors que cela est possible avec le module de profil standard, IPython enveloppe cette fonctionnalité avec des commandes magiques (voir '% prun' et '% run -p') pratique pour un travail interactif rapide.
Ce qui est nouveau dans cette version:
- Cette version apporte des mois de développement lent mais régulier, et de la volonté être la dernière avant une restructuration majeure et le nettoyage des parties internes ipython qui est déjà en cours. Pour cette raison, nous espérons que 0,10 aura une version stable et robuste de sorte que tandis que les utilisateurs se adapter à certains des changements de l'API qui viendront avec le refactoring qui deviendra IPython 0,11, ils peuvent utiliser en toute sécurité 0,10 dans tous les projets existants avec des changements minimes (le cas échéant).
- IPython 0,10 est maintenant un projet de taille moyenne, avec environ (tel que rapporté par l'utilitaire de sloccount de David Wheeler) 40 750 lignes de code Python, et un diff entre 0.9.1 et ce communiqué qui contient près de 28 000 lignes de code et de la documentation. Notre documentation, en format PDF, est un document de 495 pages à long PDF (également disponible en format HTML, généré à la fois par les mêmes sources).
- De nombreux utilisateurs et développeurs contribué au code, les caractéristiques, les rapports de bogues et des idées à ce communiqué. Se il vous plaît ne hésitez pas à nous contacter si nous avons échoué à reconnaître votre contribution ici. En particulier, pour cette version, nous avons contribution des personnes suivantes, un mélange de noms nouveaux et réguliers (dans l'ordre alphabétique par prénom):
- Alexander Clausen: # 341726 fixer .
- Brian Granger:. Beaucoup de travail partout dans le monde (caractéristiques, correctifs de bogues, etc.)
- Daniel Ashbrook:. Rapport de bogue sur MemoryError lors de la compilation, maintenant fixe
- Darren Dale:. Améliorations au système de documentation de construction, les commentaires, idées de conception
- Fernando Perez: divers endroits .
- Gael Varoquaux: code de base, ipythonx GUI, discussions de conception, etc. Beaucoup ...
- John Hunter:. Suggestions, corrections de bugs, commentaires
- Jorgen Stenarson:. Travaux sur de nombreux fronts, de tests, corrections, le soutien win32, etc
- Laurent DUFRECHOU: de nombreuses améliorations à ipython-wx application autonome .
- Lukasz Pankowski: préfiltre,
Commentaires non trouvées