Commit Graph

721 Commits

Author SHA1 Message Date
Matthias BUSSONNIER
785fbd9d9a esc collapse pager 2012-05-07 12:36:18 +02:00
Puneeth Chaganti
1e9d2f4a1c ENH: Open a notebook from the command line
This commit lets you open notebook files from the command line, just
like ipython can open (run) python files.  For example:

     ipython notebook foo.ipynb

Fixes #945.
2012-05-07 10:27:25 +05:30
Matthias BUSSONNIER
976c433fe4 Make pager resizable, and remember size...
Resizing to small collapse the pager keeping the size to at least 20%
height

(trying to) resize a collapsed pager to more than 10% "expand" it.

Pager can remember it size when toggling by clicking.
2012-05-06 21:08:04 +02:00
Matthias BUSSONNIER
8462288405 fix tooltip on token with number
fixes #1696
allow number in matched token for tooltip, except first position
also prevent matching token starting wit a dot
2012-05-04 09:13:43 +02:00
MinRK
97151aa3b8 revert PR #1659
caused critical problems with subprocess output.

See `!ls` for an example.
2012-04-29 23:52:07 -07:00
Michael Droettboom
a5d7dd8d2b Fix typo in comment 2012-04-27 16:48:04 -04:00
Michael Droettboom
e8be6bbe50 Fix the "test for nothing was streamed" so it doesn't add empty elements -- but only when there wasn't already something there. 2012-04-26 10:00:16 -04:00
Michael Droettboom
50fa35b1cc Handle carriage return characters ("\r") in HTML notebook output. 2012-04-25 13:16:33 -04:00
MinRK
86e3e953da add ioloop.install to backported patches 2012-04-23 16:59:00 -07:00
Fernando Perez
e5e200eaa7 Merge pull request #1621 from ivanov/clear-input-prompt-on-clear-all-output
clear In[] prompt numbers on "Clear All Output"

For more version-control-friendly `.ipynb` files, this strips the `In[]` prompt numbers when doing a "Clear all output".  This reduces the amount of noise in commit-to-commit diffs that would otherwise show the (highly variable) prompt number changes.
2012-04-18 23:06:32 -07:00
MinRK
6419b0b130 include IPython.zmq in iptest groups 2012-04-18 15:32:43 -07:00
Paul Ivanov
06dd2b00c6 clear In[] prompt numbers on "Clear All Output" 2012-04-17 18:48:30 -07:00
MinRK
6e2694a9d9 handle old pyzmq in notebook exit confirmation
* 2.1.7 (earliest dep) will simply not work, so skip it
* 2.1.9-10 log the interrupts, so add a short delay to ensure the log
  messages don't come after the prompt.
2012-04-16 11:59:55 -07:00
MinRK
c5d7d6f08a confirm notebook shutdown on SIGINT
confirmation in bg thread, to avoid blocking
5s timeout before restoring original state if no response

^C^C == confirmation
2012-04-15 23:25:09 -07:00
MinRK
3c19b40d2f exit notebook cleanly on SIGINT, SIGTERM
makes it a bit more likely security files, etc. will be cleaned up.
2012-04-15 12:06:05 -07:00
Fernando Perez
0344f92a62 Merge pull request #1490 from minrk/raw
rename plaintext cell -> raw cell

Raw cells should be *untransformed* when writing various output formats, as the point of them is to let users pass through IPython to their rendered document format (rst, latex, etc.).  This is different from what is the logical meaning of 'plaintext', which would suggest that the contents should be preserved as unformatted plaintext (e.g. in a `<pre>` tag, or literal block).

In the UI, these cells will be displayed as 'Raw Text'.

WARNING: any existing v3 notebooks which use plaintext cells, when read in by versions after this merge, will silently rename those cells to 'raw'.  But if such a notebook is uploaded into a pre-merge IPython, cells labeled as 'raw' will simply *not be displayed*.
2012-04-14 17:46:25 -07:00
MinRK
e7a45e9454 add VERSIONHACK markers for never-released plaintext handling 2012-04-14 16:02:53 -07:00
Fernando Perez
526d842289 Merge pull request #1502 from minrk/pyflakes
small changes in response to pyflakes pass

Only significant change: removes incomplete kernelstarter file, which shouldn't have been in the repo at all.

closes #1499
2012-04-14 02:33:29 -07:00
Fernando Perez
98ac51808e Merge pull request #1563 from minrk/clear_output
clear_output improvements, which allow things like progress bars and other simple animations to work well in the notebook.

* `clear_output()` clears the line, even in terminal IPython, the QtConsole and plain Python as well, by printing `\r` to streams.

* `clear_output()` avoids the flicker in the notebook by adding a delay, and firing immediately upon the next actual display message.

* `display_javascript` hides its `output_area` element, so using display to run a bunch of javascript doesn't result in ever-growing vertical space.
2012-04-13 21:12:23 -07:00
Fernando Perez
14d29450a3 Merge pull request #1560 from minrk/testdocs
remove obsolete discussion of Twisted/trial from testing docs

We don't use trial anymore, so these docs were no longer accurate.

closes #1558
2012-04-13 20:31:32 -07:00
MinRK
9cb1559d5e document initially hidden javascript container 2012-04-09 15:35:29 -07:00
MinRK
c21be2f386 hide output_area for js
prevents growing vertical space from adding empty output_areas.
2012-04-09 15:35:29 -07:00
MinRK
5c6c247b65 [notebook] clear_output is handled after a delay
This reduces flicker during common loops like:

for step in stuff:
    clear_output()
    print something

the timeout is flushed *immediately* on any subsequent output.
2012-04-09 15:35:28 -07:00
MinRK
fe92e50471 remove a few more obsolete twisted notes 2012-04-09 11:01:21 -07:00
MinRK
124037690e use os.getcwdu in NotebookManager
prevents unicode error when starting in non-unicode path.
2012-04-04 09:48:29 -06:00
MinRK
fd2cc9d19e make MultiKernelManager.kernel_manager_class configurable
This allows deployments to use customized KernelManager subclasses via config.
2012-03-31 19:24:38 -07:00
MinRK
600acfb694 fix sorting profiles in clustermanager 2012-03-16 14:52:06 -07:00
MinRK
f9438de710 small changes in response to pyflakes pass
removes incomplete kernelstarter file, which shouldn't be in the repo at all yet.
2012-03-15 15:54:20 -07:00
MinRK
9927cec392 denote raw cell with 'Raw Text' in UI 2012-03-14 15:07:55 -07:00
MinRK
f036c032c7 interpret 'plaintext' cells with their new name 'raw' 2012-03-14 12:45:28 -07:00
MinRK
9ffc7829da rename plaintext cell -> raw cell 2012-03-13 17:31:39 -07:00
MinRK
9d80f8522c use DummyIPClusterStart to load config in notebook ClusterManager
ensures that config loading matches what would happen in ipcluster.

The only change needed in IPClusterStart itself was moving the on_stop registration from init_launchers to start_controller, where it should have been anyway.
2012-03-08 12:21:51 -08:00
Brian Granger
19322be14d Chaging # of engines format in cluster list. 2012-03-08 11:37:28 -08:00
Brian Granger
24510c6e00 Sort profiles in cluster tab. 2012-03-08 11:31:04 -08:00
Brian Granger
c0a87aa940 Notebook cluster manager now uses proper launchers. 2012-03-08 11:27:31 -08:00
Brian Granger
dbefa745fd On tab select, the URL is updated. 2012-03-08 11:27:31 -08:00
Brian Granger
35ffb5500a Cluster management is now working.
You can start/stop clusters in the notebook with a very simple UI. More to do,
but this is a start.
2012-03-08 11:27:30 -08:00
Brian Granger
5df969af5c Fixing tab design. 2012-03-08 11:27:30 -08:00
Brian Granger
34d784a5ab Draft of the cluster list UI.
Not functional yet, but the idea is there.
2012-03-08 11:27:30 -08:00
Brian Granger
b819fbfe8f Initial try at adding tabs to project dashboard. 2012-03-08 11:27:30 -08:00
Brian Granger
3631fae153 Major refactoring of notebook.
* Created new base page html/css/js.
* Everything inherits from the page template.
* Universal header border.
* Notebook list borders are set to 1px all around.
* No border around notebook area.
* Border cleanup of toolbar/menubar.
* Lots of code reorg to get ready for further refactoring.
2012-03-08 11:27:29 -08:00
Brian Granger
6dc7b078b9 Refactoring templates and top level js/css organization. 2012-03-08 11:27:29 -08:00
Brian Granger
f19a63759b First version of cluster web service.
This exposes ipcluster's over the web. The current implementation
uses IPClusterLauncher to run ipcluster in a separate process.
Here is the URL scheme we are using:

GET /clusters => list available clusters
GET /cluster/profile => list info for cluster with profile
POST /cluster/profile/start => start a cluster
POST /cluster/profile/stop => stop a cluster
2012-03-08 11:27:29 -08:00
Brian E. Granger
6b5a5f0b36 Merge pull request #1450 from minrk/httpsmathjax
load mathjax from CDN via https.
2012-02-29 15:27:45 -08:00
MinRK
8de583a6cd include heading level in JSON
adds level-including to/fromJSON methods to HeadingCell
2012-02-28 14:21:05 -08:00
MinRK
83c5470bf7 load mathjax from CDN via https
Amazon CloudFront (MathJax's CDN) supports HTTPS, but their SSL certificate only applies to *.cloudfront.net urls.  This retrieves the cloudfront host at runtime, and loads MathJax from there via HTTPS.
2012-02-28 13:53:48 -08:00
MinRK
7ad2568d53 fix inverted self.browser logic 2012-02-20 10:00:50 -05:00
Min RK
ea945fa31c Merge pull request #1406 from ivanov/browser-selection
adds new `NotebookApp.browser` configurable and corresponding `--browser` alias for specifying which browser should be launched with the notebook landing page.
2012-02-18 18:39:31 -08:00
Paul Ivanov
6ee29b4c72 be more explicit about how --browser value is used 2012-02-14 14:26:31 -08:00
Paul Ivanov
407c8ee6d7 added --browser option to notebook
now you can specify --browser=firefox when starting ipython notebook
2012-02-13 19:15:32 -08:00
Paul Ivanov
7b9099041d document how to select browser for notebook 2012-02-13 18:11:54 -08:00
Thomas Kluyver
7d849a2f70 Only monkeypatch xunit when the tests are run using it. 2012-02-13 23:17:05 +00:00
Thomas
c926a2872c Merge pull request #1395 from takluyver/xunit-kf
Make Xunit count KnownFailure tests as skipped, not failures.
2012-02-12 03:49:28 -08:00
Brian E. Granger
d0c445a63c Merge pull request #1386 from ellisonbg/jsd3
Adding Javascript output handling to the notebook.
2012-02-09 17:47:36 -08:00
Thomas Kluyver
4f947c2877 Make separate function to monkeypatch Xunit. 2012-02-09 20:20:19 +00:00
Thomas Kluyver
5773f8cd1d Monkeypatch Xunit to count known failures as skips, not errors. 2012-02-09 19:52:20 +00:00
Min RK
6b2cb224cd Merge pull request #1353 from takluyver/i1345
Save notebook as script using unicode file handle.

Using io.open(), which is the Python 3 open() in 2.6 and above.

Closes #1345
2012-02-08 15:14:47 -08:00
Brian Granger
6c9a7d0d41 Fixing Cell menu to update cell type select box. 2012-02-07 12:02:54 -08:00
Brian Granger
5ef2e06a42 Javascript output is not run on notebook loading and paste's. 2012-02-07 09:18:23 -08:00
Brian Granger
893572d3ad Wired up the javascript display protocol using eval. 2012-02-07 08:57:06 -08:00
Brian E. Granger
cd0810ee25 Merge pull request #1370 from minrk/draft76
allow draft76 websockets (Safari)
2012-02-06 10:59:13 -08:00
Brian E. Granger
b3fb9c474b Merge pull request #1368 from minrk/asciipatterns
Ensure handler patterns are str, not unicode
2012-02-06 10:51:39 -08:00
MinRK
8cfd9dcf6e allow draft76 websockets (Safari)
Safari still uses draft76, and Tornado 2.2.0 release disables the
access from the draft version by default for security reasons.
This simply sets the tornado flag to True, so we can continue
to support Safari until it upgrades to the RFC 6455 implementation.
2012-02-02 22:31:42 -08:00
MinRK
7607bb6a5b Ensure handler patterns are str, not unicode
Python < 2.6.5 doesn't accept unicode keys in f(**kwargs), and
base_project_url will always be unicode, which will in turn
make the patterns unicode, and ultimately result in unicode
keys in kwargs to handler._execute(**kwargs) in tornado.
This enforces that base_project_url be ascii in that situation.

Note that the URLs these patterns check against are escaped,
and thus guaranteed to be ASCII: 'héllo' is really 'h%C3%A9llo'.

If you actually use u'héllo' in your regex, it will not match the URLs
you think it should.
2012-02-02 15:18:54 -08:00
Brian Granger
f387e52610 Proper error handling for nbformat versions in client code.
1. Users are warned when an older nbformat notebook is converted.
2. The notebook notifies the user when a notebook that is too new
   is attempted to load.

To test these things, create a simple notebook. Then change its
nbformat field by hand to 2 (to test 1) and then 4 (to test 2).
2012-02-01 15:46:14 -08:00
Brian Granger
1ffb5ff262 Making keyboard shortcut for showing line numbers consistent. 2012-02-01 14:43:58 -08:00
Brian Granger
f9ce3fa493 Fixing #1337. Tooltip stops TAB from being handled by others.
Pressing TAB to get the tooltip "range(TAB" was inserting a TAB.
To get rid of this we are now telling CodeMirror to ignore it
and also stopping the event from bubbling up the DOM.
2012-02-01 10:26:07 -08:00
Brian Granger
e5bc1eef59 Fixing Shift-Enter bug in text cells.
Hitting Shift-Enter on an already rendered text cell should simply
move past it. It was causing the cell to enter edit mode. This
is not fixed.
2012-02-01 09:57:23 -08:00
Brian Granger
4ae865a988 Fixing #1348 to allow Ctrl-M M to work w/o releasing Ctrl. 2012-02-01 09:50:56 -08:00
Brian Granger
e59f95376d Major refactoring of saving, notification.
* Refactored the save widget so that the notebook doesn't depend
  on it.  Now the notebook emits events and the save widget
  observes those events.
* Created a new event system for all IPython events (events.js).
  We should start to use this to allow our classes to be loosely
  coupled.
* Created a new notification widget that should be used for all
  notifications. Uses new event system.
* Removed the kernel status widget.
* All kernel status message use new event/notification system.
* The print notebook view works again.
2012-01-31 21:42:01 -08:00
Brian E. Granger
241e65b5c1 Merge pull request #1347 from Carreau/fixes-1243
Fix weird magic completion in notebook.  Closes #1243.
2012-01-30 15:22:03 -08:00
Brian E. Granger
96e5089d5d Merge pull request #1346 from astraw/alternate-url-fixups
fixups for alternate URL prefix stuff
2012-01-30 15:16:15 -08:00
Brian Granger
d7efc05572 Removing extra refresh in PlaintextCell. 2012-01-30 14:54:26 -08:00
Brian Granger
bdd17da81d Fixing minor bugs in nbformat and saving.
* json separator is not ',' to avoid adding extra space at EOL.
* vs used throughout nbformat.current.
* Cell collapse is properly loaded from notebook.
2012-01-30 14:20:54 -08:00
Thomas Kluyver
abd3989bb6 Specify UTF-8 encoding for saving notebook as script. 2012-01-30 21:48:05 +00:00
Thomas Kluyver
53b10b861c Save notebook as script using unicode file handle.
Closes gh-1345
2012-01-30 21:43:48 +00:00
Brian Granger
a00fc0165b Heading/plaintext cells now wired up to toolbar UI. 2012-01-30 12:08:36 -08:00
Brian Granger
2f88004a05 Updating JS part of plaintext cell handling. 2012-01-30 11:50:04 -08:00
Brian Granger
fd3d5edb66 Finishing first draft of RST and heading cells. 2012-01-30 11:50:03 -08:00
Brian Granger
f65adcf33e Adding new HeadingCell. 2012-01-30 11:50:03 -08:00
Brian Granger
47e4e1e2c4 A first go at RST cell support in the notebook. 2012-01-30 11:50:03 -08:00
Andrew Straw
ee9da32b05 use full URL when using alternate URL prefix 2012-01-30 07:19:33 +01:00
Andrew Straw
332fdf662c let websocket server be traited config option 2012-01-29 07:29:33 +01:00
Andrew Straw
bd7f1f941c allow setting base_project_url and base_kernel_url to non-default values 2012-01-29 07:29:33 +01:00
Andrew Straw
c706d6ed99 bugfix: use baseProjectUrl when re-writing URL in address bar 2012-01-29 07:29:33 +01:00
Andrew Straw
81a636dabf use Tornado's handler.static_url() in templates 2012-01-29 07:29:33 +01:00
Fernando Perez
5067e77292 Merge pull request #1334 from fawce/keycuts
Make Control-S (or Cmd-S on Apple) save the actual notebook instead of bringing up the useless 'save as html' dialog.  This doesn't disable the C-m-s keybinding, simply adds the far more familiar and common C-s.
2012-01-28 16:39:06 -08:00
Brian Granger
1ed9a21039 Adding "Cell" to cell related Edit actions. 2012-01-27 16:16:22 -08:00
Brian Granger
9b723324db Wired the rest of the toolbar buttons up to actions. 2012-01-27 13:54:37 -08:00
Brian Granger
428c82877f Further work on the toolbar UI.
* Cell type selection box is wired up and styled.
* New View menu that allows toolbar/header to be toggled.
2012-01-27 13:45:43 -08:00
Brian Granger
4c88c4686c First draft of toolbar.
We are adding a thin horizontal toolbar below the menubar. This
commit adds the basic UI elements. Still need to hook up the actions
and make this hidable.
2012-01-27 12:31:28 -08:00
fawce
a53def4a49 fixed missing return for keybinding 2012-01-27 14:49:39 -05:00
fawce
6120c07c4d added key handler for control-s to notebook, seems to work pretty well 2012-01-27 14:18:48 -05:00
Thomas Kluyver
717285060e Use explicit for loop to find section in testing. 2012-01-27 11:16:35 +00:00
Thomas Kluyver
4b51bacbb2 Don't raise errors from coverage post-processing. 2012-01-27 01:16:46 +00:00
Thomas Kluyver
93a8b9d215 Use separate option --with-xml-coverage to ask for coverage xml output. 2012-01-27 01:16:46 +00:00
Thomas Kluyver
24af9ac298 Use standard command for coverage. 2012-01-27 01:16:46 +00:00
Thomas Kluyver
e29d417931 Produce coverage xml reports from subprocess test runners. 2012-01-27 01:16:46 +00:00
Min RK
125dc8cb74 Merge pull request #1206 from minrk/fixConsole
The notebook js transforms ANSI-escaped text to HTML.  The transformed HTML was previously persisted to ipynb files, rather than the true output.  This has been fixed, and notebooks with ANSI-colored output will need to be re-run for colored output (tracebacks) to be displayed correctly after this change.
2012-01-26 17:14:29 -08:00
Fernando Perez
df7d91f30a Add linewrapping to text cells (new feature in CodeMirror). 2012-01-25 22:17:12 -08:00