ipython är en fri programvara projekt som försöker:
Ge ett interaktivt skal överlägsen Pythons standard. Ipython har många funktioner för objektintrospektion, systemet skal tillgång, och sin egen speciella kommandosystem för att lägga till funktioner när du arbetar interaktivt. Det försöker vara en mycket effektiv miljö för både Python-kod utveckling och för utforskning av problem med hjälp av Python-objekt (i situationer som dataanalys).
Servera som en inbäddningsbar, klar att använda tolk för dina egna program. Ipython kan startas med ett enda samtal inifrån ett annat program, som ger tillgång till den aktuella namnrymden. Detta kan vara mycket användbart både för felsökning och för situationer där en blandning av batch-bearbetning och interaktiv utforskning behövs.
Erbjud en flexibel ram som kan användas som bas miljö för andra system med Python som underliggande språket. Specifikt vetenskapliga miljöer som Mathematica, IDL och Mathcad inspirerade sin design, men liknande idéer kan vara användbar i många områden.
Tillåt interaktiv testning av gängade grafiska verktygslådor. Ipython har stöd för interaktiva, icke-blockerande kontroll över GTK, Qt och WX-program via speciella gäng flaggor. Den normala Python skalet kan bara göra detta för Tkinter applikationer
Funktioner :.
- Dynamisk objektintrospektion. Man kan komma åt docstrings, definition funktion prototyper, källkod, källfiler och andra detaljer av något föremål tillgängliga för tolken med en enda knapptryckning ("?").
- Slutförande i den lokala namnrymden, genom att skriva TAB vid prompten. Detta fungerar för sökord, metoder, variabler och filer i den aktuella katalogen. Detta stöds via readline-biblioteket, och full tillgång till konfigurering readline beteende tillhandahålls.
- Numrerad input / output uppmanas med kommandohistorik (ihållande över sessioner och knuten till varje profil), full sökning i denna historia och cachning av all input och output.
- Användarvänlig töjbar "magic" kommandon. En uppsättning kommandon med prefixet% är tillgänglig för att styra ipython själv och ger katalogkontroll, namespace information och många alias till vanliga systemet skalkommandon.
- Alias anläggning för att definiera dina egna system alias.
- Komplett system shell access. Linjer som börjar med! överförs direkt till systemskalet, och använder !! fångar skal produktionen i python variabler för vidare användning.
- Bakgrund utförandet av Python-kommandon i en separat tråd. Ipython har en intern jobb manager kallas jobb, och en bekvämlighet backgrounding magisk funktion kallad% bg.
- Möjligheten att expandera python variabler när du ringer systemskalet. I ett skalkommando, är något python variabeln prefixet $ utökas. En dubbel $$ låter passera en bokstavlig $ till skalet (för åtkomst till skal och miljö variabler som $ PATH).
- File navigering, via en magisk kommando, tillsammans med ett ihållande bokmärke systemet (med% bokmärke) för snabb tillgång till ofta besökta kataloger.
- Automatisk indrag (tillval) av kod som du skriver (genom readline-biblioteket).
- Macro system för snabbt åter exekvera flera rader med föregående ingång med ett enda namn.
- Session loggning (du kan senare använda dessa loggar som kod i dina program).
- Session återställa:. Loggar kan spelas för att återställa en tidigare session till den stat där du lämnade det
- Verbose och färgade undantag återsöknings utskrifter. Lättare att tolka visuellt och i utförligt läge de producerar en hel del användbar felsökningsinformation (i princip en terminal version av cgitb modul).
- Auto-parenteser: inlösbara objekt kan utföras utan parenteser:. "Synda 3 'konverteras automatiskt till" sin (3)'
- Automatisk citerar: med ',' som första tecken krafterna automatisk citerar resten av raden: "my_function ab" blir automatiskt "my_function (& quot; en & quot; & quot; b & quot;)
- Extensible syntaxen. Du kan definiera filter som pre-process användarens input att förenkla inmatning i speciella situationer. Detta gör till exempel klistra multi-line kodfragment som börjar med '& gt; & gt; & gt; " eller "..." som de från andra python sessioner eller standard Python dokumentationen.
- Flexibel systemkonfiguration. Den använder en konfigurationsfil som tillåter permanent inställning av alla kommandoradsalternativ, inläsning av moduler, kod och utförande fil. Systemet tillåter rekursiva fil integration, så att du kan ha en bas-fil med standardinställningar och skikt som lastar andra anpassningar för särskilda projekt.
- Inbäddningsbar. Du kan ringa ipython som python skal i dina egna python program. Detta kan användas både för felsökning kod eller för att tillhandahålla interaktiva förmåga att dina program med kunskap om de lokala namnutrymmen (mycket användbara i felsökning och dataanalys situationer).
- Enkel debugger åtkomst. Du kan ställa in ipython att ta fram Python debugger (PBF) varje gång det finns en ofångade undantag. Detta sjunker du inne i koden som utlöste undantag med alla uppgifter lever och det är möjligt att navigera stacken för att snabbt isolera källan till ett fel. Den% run magiska kommandot -med -d options kan köra alla skript i pdb kontroll, automatisk inställning initiala brytpunkter för dig.
- Profiler support. Du kan köra enstaka uttalanden (liknande profile.run ()) eller kompletta program under profiler kontroll. Även om detta är möjligt med standardprofilen modulen ipython wraps denna funktionalitet med magiska kommandon (se "% Prun" och "% run -p ') bekvämt för snabb interaktiv arbete.
Vad är nytt i den här versionen:
- Den här versionen kommer med månader av långsam men stadig utveckling, och kommer vara den sista innan en omfattande omstrukturering och sanering av ipython s interna som redan pågår. Därför hoppas vi att 0,10 blir en stabil och robust utgåvan så att medan användarna anpassa sig till några av de API förändringar som kommer med refacto som blir ipython 0.11, kan de säkert använda 0,10 i alla befintliga projekt med minimala förändringar (om någon).
- ipython 0.10 är nu ett medelstort projekt, med ungefär (som rapporterats av David Wheelers sloccount utility) 40750 rader av Python-kod, samt en diff mellan 0.9.1 och den här versionen som innehåller nästan 28000 rader kod och dokumentation. Vår dokumentation, i PDF-format, är en 495-sidor lång PDF-dokument (finns även i HTML-format, både som genereras från samma källor).
- Många användare och utvecklare har bidragit kod, funktioner, felrapporter och idéer till den här versionen. Tveka inte att kontakta oss om vi har misslyckats med att erkänna ditt bidrag här. I synnerhet för den här versionen har vi bidrag från följande personer, en blandning av nya och återkommande namn (i bokstavsordning efter förnamn):
- Alexander Clausen: fixa # 341.726 .
- Brian Granger:. Massor av arbete överallt (funktioner, buggfixar, etc)
- Daniel Ashbrook:. Felrapport om Memory under kompilering, nu fast
- Darren Dale:. Förbättringar dokumentations byggsystem, återkoppling, designidéer
- Fernando Perez: olika platser .
- Gael Varoquaux: core-kod, ipythonx GUI, diskussioner konstruktions, etc. Massor ...
- John Hunter:. Förslag, buggfixar, återkoppling
- Jörgen Stenarson:. Arbete på många fronter, tester, fixar, win32 support, etc
- Laurent Dufrechou: många förbättringar att ipython-wx fristående app .
- Lukasz Pankowski: förfilter,
Kommentarer hittades inte