663:
42:
1256:
231:
149:
105:
677:
538:
473:
308:
33:
315:
IPython is based on an architecture that provides parallel and distributed computing. IPython enables parallel applications to be developed, executed, debugged and monitored interactively, hence the I (Interactive) in IPython. This architecture abstracts out parallelism, enabling IPython to support
593:, a computational interface style that originated with Mathematica in the 1980s. It supports execution environments (aka kernels) in dozens of languages. By default Jupyter Notebook ships with the IPython kernel, but there are over 100 Jupyter kernels as of May 2018.
453:, the 6.x series is only compatible with Python 3 and above. It is still possible though to run an IPython kernel and a Jupyter Notebook server on different Python versions allowing users to still access Python 2 on newer version of Jupyter.
601:
IPython has been mentioned in the popular computing press and other popular media, and it has a presence at scientific conferences. For scientific and engineering work, it is often presented as a companion tool to
1195:
647:
in the category of coding tools. In July 2015, the project won a funding of $ 6 million from Gordon and Betty Moore
Foundation, Alfred P. Sloan Foundation and Leona M. and Harry B. Helmsley Charitable Trust.
557:
interface and other language-agnostic parts of IPython were moved under the
Jupyter name. Jupyter is language agnostic and its name is a reference to core programming languages supported by Jupyter, which are
448:
IPython 5.x (Long Time
Support) series is the last version of IPython to support Python 2. The IPython project pledged to not support Python 2 beyond 2020 by being one of the first projects to join the
1301:
506:
626:
1291:
1261:
581:
computational environment for creating, executing, and visualizing
Jupyter notebooks. It is similar to the notebook interface of other programs such as
1141:
1306:
622:
546:
57:
896:
668:
1286:
492:
524:
376:, often installed alongside one of many Scientific Python distributions. IPython provides integration with some libraries of the
252:
1077:
1010:
690:
563:
248:
162:
1196:"$ 6M for UC Berkeley and Cal Poly to expand and enhance open-source software for scientific computing and data science"
559:
128:
1230:
1296:
1036:
682:
96:
502:
615:
488:
483:
578:
433:
335:
567:
357:
With the release of IPython 4.0, the parallel computing capabilities were made optional and released under the
1181:
858:
651:
In May 2018, it was awarded the 2017 ACM Software System Award. It is the largest team to have won the award.
1281:
695:
428:(the standard Python shell only allows interaction with Tkinter). IPython can interactively manage parallel
361:
python package. And most of the capabilities of ipyparallel are now covered by more mature libraries like
170:
1145:
827:
1092:
791:
436:. IPython can also be used as a system shell replacement. Its default behavior is largely similar to
586:
230:
193:
104:
728:
440:, but it allows customization and the flexibility of executing code in a live Python environment.
388:
notebook. Python libraries can implement IPython specific hooks to customize rich object display.
1108:
574:
554:
288:
275:
912:
892:
809:
397:
296:
244:
198:
1100:
799:
582:
429:
345:
340:
205:
181:
41:
705:
550:
462:
362:
247:
for interactive computing in multiple programming languages, originally developed for the
148:
1255:
1096:
795:
260:
186:
972:
1275:
644:
268:
1116:
1112:
278:
with support for code, text, mathematical expressions, inline plots and other media.
69:
Brian E. Granger, Min Ragan-Kelley, Paul Ivanov, Thomas
Kluyver, Matthias Bussonnier
1167:
884:
307:
986:
938:
953:"The Notebook, Qt console and a number of other pieces are now parts of Jupyter"
676:
640:
472:
210:
553:. IPython continued to exist as a Python shell and kernel for Jupyter, but the
537:
658:
603:
437:
381:
256:
166:
64:
52:
17:
633:
1040:
813:
742:
756:
32:
1216:
1104:
700:
636:
made a donation of $ 100,000 to sponsor IPython's continued development.
590:
425:
392:
for example implements rendering of mathematical expressions as rendered
1062:
358:
409:
385:
991:
957:
952:
421:
137:
844:
804:
779:
618:
announced that it would support IPython development for two years.
281:
Support for interactive data visualization and use of GUI toolkits.
536:
413:
393:
389:
377:
373:
369:
306:
284:
Flexible, embeddable interpreters to load into one's own projects.
417:
328:
321:
174:
450:
16:
For the implementation of Python under the .NET Framework, see
466:
368:
IPython frequently draws from SciPy stack libraries like
1078:"IPython: A System for Interactive Scientific Computing"
263:, and history. IPython provides the following features:
1266:
498:
1249:
221:
828:"Using IPython for Parallel computing - IPython docs"
216:
204:
192:
180:
158:
127:
95:
73:
63:
51:
729:"The IPython notebook: a historical retrospective"
311:Architectural View of IPython's parallel machinery
549:announced a spin-off project from IPython called
1231:"Jupyter receives the ACM Software System Award"
1182:"Jolt Productivity Award write-up in Dr. Dobb's"
487:, potentially preventing the article from being
316:many different styles of parallelism including:
1302:Python (programming language) development tools
1004:
1002:
408:IPython allows non-blocking interaction with
384:, producing inline graphs when used with the
8:
839:
837:
1076:Pérez, Fernando; Granger, Brian E. (2007).
432:using asynchronous status callbacks and/or
1254:
507:reliable, independent, third-party sources
229:
147:
103:
27:
803:
780:"Interactive notebooks: Sharing the code"
723:
721:
625:was awarded the Free Software Foundation
525:Learn how and when to remove this message
501:by replacing them with more appropriate
913:"Release of IPython 5.0 – Jupyter Blog"
717:
484:too closely associated with the subject
1085:Computing in Science & Engineering
731:. Fernando Perez Blog. 8 January 2012.
400:dataframe use an HTML representation.
396:when used within IPython context, and
23:Advanced interactive shell for Python
7:
1142:"Announcement in scipy mailing list"
1035:Koziol, Conrad (12 September 2005).
987:"Jupyter Logo · jupyter/Design Wiki"
859:"Printing — SymPy 1.1 documentation"
669:Free and open-source software portal
1217:"Recent Software System Award News"
1292:Free software programmed in Python
1011:"The Scientific Paper Is Obsolete"
627:Advancement of Free Software award
14:
939:"Project Jupyter // Speaker Deck"
577:(formerly IPython Notebook) is a
327:Multiple program, multiple data (
267:Interactive shells (terminal and
675:
661:
482:may rely excessively on sources
471:
350:Combinations of these approaches
40:
31:
320:Single program, multiple data (
1307:Software using the BSD license
614:Beginning 1 January 2013, the
541:Old IPython Notebook interface
353:Custom user defined approaches
1:
757:"NumFOCUS Sponsored Projects"
691:Python (programming language)
639:In January 2014, it won the
299:fiscally sponsored project.
1039:. NewsForge. Archived from
683:Computer programming portal
249:Python programming language
79:; 23 years ago
1323:
616:Alfred P. Sloan Foundation
460:
243:(Interactive Python) is a
15:
1287:Free mathematics software
545:In 2014, IPython creator
123:
91:
39:
30:
889:Python for Data Analysis
1063:"IPython Presentations"
696:Electronic lab notebook
641:Jolt Productivity Award
444:End of Python 2 support
1168:"IPython Announcement"
883:McKinney, Wes (2012).
542:
334:Message passing using
312:
110:; 2 months ago
1037:"Introducing IPython"
579:web-based interactive
540:
310:
1105:10.1109/MCSE.2007.53
778:Helen, Shen (2014).
1097:2007CSE.....9c..21P
796:2014Natur.515..151S
1297:Notebook interface
961:. 17 October 2021.
621:On 23 March 2013,
543:
451:Python 3 Statement
430:computing clusters
313:
303:Parallel computing
289:parallel computing
276:notebook interface
53:Original author(s)
975:. 28 August 2017.
898:978-1-449-31979-3
790:(7525): 151–152.
610:Grants and awards
535:
534:
527:
238:
237:
108:/ 28 June 2024
1314:
1258:
1253:
1252:
1250:Official website
1235:
1234:
1227:
1221:
1220:
1213:
1207:
1206:
1204:
1202:
1192:
1186:
1185:
1178:
1172:
1171:
1164:
1158:
1157:
1155:
1153:
1144:. Archived from
1138:
1132:
1131:
1129:
1127:
1121:
1115:. Archived from
1082:
1073:
1067:
1066:
1059:
1053:
1052:
1050:
1048:
1032:
1026:
1025:
1023:
1021:
1006:
997:
996:
983:
977:
976:
973:"The Big Split™"
969:
963:
962:
949:
943:
942:
935:
929:
928:
926:
924:
909:
903:
902:
880:
874:
873:
871:
869:
855:
849:
848:
841:
832:
831:
824:
818:
817:
807:
775:
769:
768:
766:
764:
753:
747:
746:
743:"ipython 8.26.0"
739:
733:
732:
725:
685:
680:
679:
671:
666:
665:
664:
632:In August 2013,
530:
523:
519:
516:
510:
475:
467:
346:Data parallelism
341:Task parallelism
274:A browser-based
259:, shell syntax,
234:
233:
226:
223:
182:Operating system
151:
146:
143:
141:
139:
118:
116:
111:
107:
87:
85:
80:
44:
35:
28:
1322:
1321:
1317:
1316:
1315:
1313:
1312:
1311:
1272:
1271:
1267:Project Jupyter
1248:
1247:
1244:
1239:
1238:
1229:
1228:
1224:
1215:
1214:
1210:
1200:
1198:
1194:
1193:
1189:
1180:
1179:
1175:
1166:
1165:
1161:
1151:
1149:
1148:on 5 March 2016
1140:
1139:
1135:
1125:
1123:
1119:
1080:
1075:
1074:
1070:
1061:
1060:
1056:
1046:
1044:
1034:
1033:
1029:
1019:
1017:
1009:Somers, James.
1008:
1007:
1000:
985:
984:
980:
971:
970:
966:
951:
950:
946:
937:
936:
932:
922:
920:
911:
910:
906:
899:
882:
881:
877:
867:
865:
857:
856:
852:
843:
842:
835:
826:
825:
821:
805:10.1038/515151a
777:
776:
772:
762:
760:
755:
754:
750:
741:
740:
736:
727:
726:
719:
714:
706:Project Jupyter
681:
674:
667:
662:
660:
657:
612:
599:
551:Project Jupyter
531:
520:
514:
511:
496:
476:
465:
463:Project Jupyter
459:
457:Project Jupyter
446:
406:
380:stack, notably
305:
228:
220:
154:
136:
119:
114:
112:
109:
83:
81:
78:
74:Initial release
47:
24:
21:
12:
11:
5:
1320:
1318:
1310:
1309:
1304:
1299:
1294:
1289:
1284:
1282:Command shells
1274:
1273:
1270:
1269:
1264:
1259:
1243:
1242:External links
1240:
1237:
1236:
1222:
1208:
1187:
1173:
1159:
1133:
1122:on 2 June 2010
1068:
1054:
1043:on 7 June 2012
1027:
998:
978:
964:
944:
930:
904:
897:
875:
863:docs.sympy.org
850:
833:
819:
770:
748:
734:
716:
715:
713:
710:
709:
708:
703:
698:
693:
687:
686:
672:
656:
653:
623:Fernando Perez
611:
608:
598:
595:
547:Fernando Pérez
533:
532:
479:
477:
470:
461:Main article:
458:
455:
445:
442:
405:
404:Other features
402:
355:
354:
351:
348:
343:
338:
332:
325:
304:
301:
293:
292:
285:
282:
279:
272:
261:tab completion
251:, that offers
236:
235:
218:
214:
213:
208:
202:
201:
196:
190:
189:
187:Cross-platform
184:
178:
177:
160:
156:
155:
153:
152:
133:
131:
125:
124:
121:
120:
101:
99:
97:Stable release
93:
92:
89:
88:
75:
71:
70:
67:
61:
60:
58:Fernando Perez
55:
49:
48:
45:
37:
36:
22:
13:
10:
9:
6:
4:
3:
2:
1319:
1308:
1305:
1303:
1300:
1298:
1295:
1293:
1290:
1288:
1285:
1283:
1280:
1279:
1277:
1268:
1265:
1263:
1262:Inline graphs
1260:
1257:
1251:
1246:
1245:
1241:
1232:
1226:
1223:
1218:
1212:
1209:
1197:
1191:
1188:
1183:
1177:
1174:
1169:
1163:
1160:
1147:
1143:
1137:
1134:
1118:
1114:
1110:
1106:
1102:
1098:
1094:
1090:
1086:
1079:
1072:
1069:
1064:
1058:
1055:
1042:
1038:
1031:
1028:
1016:
1012:
1005:
1003:
999:
994:
993:
988:
982:
979:
974:
968:
965:
960:
959:
954:
948:
945:
940:
934:
931:
919:. 8 July 2016
918:
914:
908:
905:
900:
894:
890:
886:
879:
876:
864:
860:
854:
851:
846:
845:"SciPy Stack"
840:
838:
834:
829:
823:
820:
815:
811:
806:
801:
797:
793:
789:
785:
781:
774:
771:
758:
752:
749:
744:
738:
735:
730:
724:
722:
718:
711:
707:
704:
702:
699:
697:
694:
692:
689:
688:
684:
678:
673:
670:
659:
654:
652:
649:
646:
642:
637:
635:
630:
629:for IPython.
628:
624:
619:
617:
609:
607:
605:
596:
594:
592:
588:
584:
580:
576:
571:
569:
565:
561:
556:
552:
548:
539:
529:
526:
518:
508:
504:
500:
494:
490:
486:
485:
480:This section
478:
474:
469:
468:
464:
456:
454:
452:
443:
441:
439:
435:
431:
427:
423:
419:
415:
411:
403:
401:
399:
395:
391:
387:
383:
379:
375:
371:
366:
364:
360:
352:
349:
347:
344:
342:
339:
337:
333:
331:) parallelism
330:
326:
324:) parallelism
323:
319:
318:
317:
309:
302:
300:
298:
295:IPython is a
290:
286:
283:
280:
277:
273:
270:
266:
265:
264:
262:
258:
254:
253:introspection
250:
246:
245:command shell
242:
232:
225:
219:
215:
212:
209:
207:
203:
200:
197:
195:
191:
188:
185:
183:
179:
176:
172:
168:
164:
161:
157:
150:
145:
135:
134:
132:
130:
126:
122:
106:
100:
98:
94:
90:
76:
72:
68:
66:
62:
59:
56:
54:
50:
46:IPython Shell
43:
38:
34:
29:
26:
19:
1225:
1211:
1199:. Retrieved
1190:
1176:
1162:
1150:. Retrieved
1146:the original
1136:
1124:. Retrieved
1117:the original
1091:(3): 21–29.
1088:
1084:
1071:
1057:
1045:. Retrieved
1041:the original
1030:
1018:. Retrieved
1015:The Atlantic
1014:
990:
981:
967:
956:
947:
933:
921:. Retrieved
917:Jupyter Blog
916:
907:
888:
878:
866:. Retrieved
862:
853:
822:
787:
783:
773:
761:. Retrieved
751:
737:
650:
638:
631:
620:
613:
600:
597:In the media
572:
544:
521:
515:October 2016
512:
497:Please help
481:
447:
407:
367:
356:
314:
294:
240:
239:
115:28 June 2024
102:8.26.0
65:Developer(s)
25:
1152:12 December
885:"Chapter 3"
587:Mathematica
438:Unix shells
359:ipyparallel
1276:Categories
763:25 October
759:. NumFOCUS
712:References
645:Dr. Dobb's
604:matplotlib
499:improve it
489:verifiable
382:matplotlib
287:Tools for
257:rich media
167:JavaScript
159:Written in
129:Repository
18:IronPython
1201:13 August
634:Microsoft
503:citations
1113:16637923
1020:10 April
923:11 April
868:11 April
814:25373681
701:SageMath
655:See also
591:SageMath
575:Notebook
573:Jupyter
555:notebook
426:wxPython
297:NumFOCUS
271:-based).
144:/ipython
142:/ipython
1126:30 July
1093:Bibcode
1047:14 June
792:Bibcode
493:neutral
410:Tkinter
386:Jupyter
241:IPython
222:ipython
217:Website
206:License
113: (
82: (
1111:
992:GitHub
958:GitHub
895:
812:
784:Nature
589:, and
566:, and
564:Python
422:PySide
398:Pandas
227:
163:Python
138:github
1120:(PDF)
1109:S2CID
1081:(PDF)
643:from
583:Maple
560:Julia
414:PyGTK
394:LaTeX
390:SymPy
378:SciPy
374:SciPy
370:NumPy
199:Shell
1203:2015
1154:2012
1128:2015
1049:2012
1022:2018
925:2018
893:ISBN
870:2018
810:PMID
765:2021
491:and
424:and
418:PyQt
372:and
363:Dask
329:MPMD
322:SPMD
224:.org
194:Type
175:HTML
140:.com
84:2001
77:2001
1101:doi
800:doi
788:515
505:to
434:MPI
336:MPI
211:BSD
171:CSS
1278::
1107:.
1099:.
1087:.
1083:.
1013:.
1001:^
989:.
955:.
915:.
891:.
887:.
861:.
836:^
808:.
798:.
786:.
782:.
720:^
606:.
585:,
570:.
562:,
416:,
412:,
365:.
269:Qt
255:,
173:,
169:,
165:,
1233:.
1219:.
1205:.
1184:.
1170:.
1156:.
1130:.
1103::
1095::
1089:9
1065:.
1051:.
1024:.
995:.
941:.
927:.
901:.
872:.
847:.
830:.
816:.
802::
794::
767:.
745:.
568:R
528:)
522:(
517:)
513:(
509:.
495:.
420:/
291:.
117:)
86:)
20:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.