ICalico

From IPRE Wiki
Revision as of 02:27, 17 March 2014 by Doug Blank (Talk | contribs) (Widgets)

Jump to: navigation, search

ICalico is a new method of interacting with Calico. In addition, a host of new functionality is available.

Installation

  1. Install IPython
  2. Install Calico
  3. Create a profile
    • StartCalico --create-profile
    • If you move Calico, you may have to re-create the profile
  4. Start IPython with Calico profile
    • ipython notebook --profile calico

A web page should open up which will allow you to enter scripts and Calico "magic" commands.

Getting Started

For an introduction to this manner of interacting with programs, please see:

http://nbviewer.ipython.org/urls/bitbucket.org/ipre/calico/raw/master/notebooks/Calico%20Overview.ipynb

Documentation

Technically, ICalico is a "IPython kernel". However, of course ICalico can operating using any of a number of languages.

Magics

ICalico magics are "meta" commands: commands for the ICalico system, separate from any Calico language.

  • One preceding percent sign indicates a "magic line command" (applies to just the line)
  • Two preceding percent signs indicates a "magic cell command" (applies to just the cell)
  • Three preceding percent sign indicates a "magic notebook command" (applies from here to rest of notebook)

Any cell can have any number of magic commands, but they must all appear first, before any code.

%connect_info       - show ICalico JSON connection information
%edit FILENAME      - edit a file in an external editor
%%file FILENAME     - create a filename with contents of cell
%%html              - treat the cell as HTML
%lang               - get information on current language
%%lang LANGUAGE     - change language for just this cell
%%%lang LANGUAGE    - change language for rest of cells
%magic              - get information on magic meta-commands
%qtconsole          - start a qtconsole
%run FILENAME       - run a file (language determined by extension)
%%time              - time how long it takes to run this cell

Display Functions

These are available from the calico object:

  • display(...)
  • Audio()
  • HTML()
  • Javascript()
  • Latex()
  • Math()
  • Table()
  • Image()

Example:

calico.display(calico.HTML("<b>This is bold!</b>"))

Widgets

Widgets allow for creating interactive interfaces, when connected to an executing kernel. All of the widgets are available from the calico object.

  • BoundedFloatTextWidget
  • BoundedIntTextWidget
  • ButtonWidget
  • CameraWidget
  • CheckboxWidget
  • ContainerWidget
  • DropdownWidget
  • FloatProgressWidget
  • FloatSliderWidget
  • FloatTextProgressWidget
  • FloatTextWidget
  • HTMLWidget
  • ImageWidget
  • IntProgressWidget
  • IntSliderWidget
  • IntTextWidget
  • LatexWidget
  • PasswordWidget
  • PopupWidget
  • RadioButtonsWidget
  • SelectWidget
  • SelectionWidget
  • TextWidget
  • TextareaWidget
  • ToggleButtonWidget
  • ToggleButtonsWidget

In addition, there are a number of similar Javascript-based widgets:

  • GeoChart