IPython Documentation

IPython Documentation

Release 0.11 The IPython Development Team

July 31, 2011

CONTENTS

1 Introduction

1

1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Enhanced interactive Python shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 Interactive parallel computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 What's new in IPython

5

2.1 Development version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 0.11 Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3 Issues closed in the 0.11 development cycle . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4 0.10 series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.5 0.9 series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2.6 0.8 series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3 Installation

47

3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.2 Quickstart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.3 Installing IPython itself . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.4 Basic optional dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.5 Dependencies for IPython.parallel (parallel computing) . . . . . . . . . . . . . . . . . . . . 51

3.6 Dependencies for IPython.zmq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.7 Dependencies for ipython qtconsole (new GUI) . . . . . . . . . . . . . . . . . . . . . . . . 51

4 Using IPython for interactive work

53

4.1 Introducing IPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.2 IPython Tips & Tricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.3 IPython reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.4 IPython as a system shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

4.5 A Qt Console for IPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

5 Using IPython for parallel computing

95

5.1 Overview and getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

5.2 Starting the IPython controller and engines . . . . . . . . . . . . . . . . . . . . . . . . . . 99

5.3 IPython's Direct interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

5.4 The IPython task interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

5.5 Using MPI with IPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

i

5.6 IPython's Task Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 5.7 Security details of IPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 5.8 Getting started with Windows HPC Server 2008 . . . . . . . . . . . . . . . . . . . . . . . 138 5.9 Parallel examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 5.10 DAG Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 5.11 Details of Parallel Computing with IPython . . . . . . . . . . . . . . . . . . . . . . . . . . 163 5.12 Transitioning from IPython.kernel to IPython.parallel . . . . . . . . . . . . . . . . . . . . . 173

6 Configuration and customization

179

6.1 Overview of the IPython configuration system . . . . . . . . . . . . . . . . . . . . . . . . 179

6.2 IPython extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

6.3 IPython plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

6.4 Configuring the ipython command line application . . . . . . . . . . . . . . . . . . . . . . 188

6.5 Editor configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

6.6 Outdated configuration information that might still be useful . . . . . . . . . . . . . . . . . 192

7 IPython developer's guide

197

7.1 How to contribute to IPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

7.2 Working with IPython source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

7.3 Coding guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

7.4 Documenting IPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

7.5 Testing IPython for users and developers . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

7.6 Releasing IPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

7.7 Development roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

7.8 IPython module organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

7.9 Messaging in IPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

7.10 Messaging for Parallel Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

7.11 Connection Diagrams of The IPython ZMQ Cluster . . . . . . . . . . . . . . . . . . . . . 248

7.12 The magic commands subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

7.13 Notes on code execution in InteractiveShell . . . . . . . . . . . . . . . . . . . . . 257

7.14 IPython Qt interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

7.15 Porting IPython to a two process model using zeromq . . . . . . . . . . . . . . . . . . . . 260

8 The IPython API

263

8.1 config.application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

8.2 config.configurable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

8.3 config.loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

8.4 core.alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

8.5 core.application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

8.6 core.autocall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

8.7 core.builtin_trap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

8.8 pilerop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

8.9 pleter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

8.10 pleterlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

8.11 core.crashhandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

8.12 core.debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

8.13 core.display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

8.14 core.display_trap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

ii

8.15 core.displayhook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 8.16 core.displaypub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 8.17 core.error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 8.18 core.excolors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 8.19 core.extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 8.20 core.formatters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 8.21 core.history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 8.22 core.hooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 8.23 core.inputsplitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 8.24 core.interactiveshell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 8.25 core.ipapi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 8.26 core.logger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 8.27 core.macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 8.28 core.magic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 8.29 core.magic_arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 8.30 core.oinspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 8.31 core.page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 8.32 core.payload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 8.33 core.payloadpage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 8.34 core.plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 8.35 core.prefilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 8.36 core.profileapp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 8.37 core.profiledir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 8.38 core.prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 8.39 core.shellapp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 8.40 core.splitinput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 8.41 core.ultratb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 8.42 lib.backgroundjobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 8.43 lib.clipboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553 8.44 lib.deepreload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553 8.45 lib.demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 8.46 lib.guisupport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 8.47 lib.inputhook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570 8.48 lib.irunner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 8.49 lib.latextools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579 8.50 lib.pretty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579 8.51 lib.pylabtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585 8.52 parallel.apps.baseapp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586 8.53 parallel.apps.ipclusterapp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 8.54 parallel.apps.ipcontrollerapp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 8.55 parallel.apps.ipengineapp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621 8.56 parallel.apps.iploggerapp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630 8.57 parallel.apps.launcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635 8.58 parallel.apps.logwatcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717 8.59 parallel.apps.win32support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720 8.60 parallel.apps.winhpcjob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721 8.61 parallel.client.asyncresult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739 8.62 parallel.client.client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743

iii

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download