Knowledge (XXG)

IPython

Source 📝

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:.

Index

IronPython

Screenshot of IPython 6.x on Mac OS, showing the computation of a fourier transform using numpy.
Original author(s)
Fernando Perez
Developer(s)
Stable release
Edit this on Wikidata
Repository
github.com/ipython/ipython
Edit this at Wikidata
Python
JavaScript
CSS
HTML
Operating system
Cross-platform
Type
Shell
License
BSD
ipython.org
Edit this on Wikidata
command shell
Python programming language
introspection
rich media
tab completion
Qt
notebook interface

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.