ŷhat

Rodeo: A data science IDE for Python

by Greg

Learn More

Today we're excited to introduce a new project: Rodeo. Rodeo is an IDE that's built expressly for doing data science in Python. Think of it as a light weight alternative to the IPython Notebook.

We've been using it for projects internally, but today we're releasing it to the public! We hope you like it as much as we do.

A quick overview. Click to enlarge.

Why we built it

I like the IPython Notebook for presentations and tutorials, but I often find it a little cumbersome for day to day work. I generally prefer to work in a fairly minimalist environment like Sublime Text or VIM. Juxtaposed with the notebook, and it makes the notebook feel really bloated.

The things I really need when I'm analyzing data are:

  • a terminal with autocomplete
  • a text editor
  • ability to see plots

Given how minimal my requirements were, it was a bit frustrating that there doesn't seem to be a lightweight option for Python.

Quickstart

The easiest way to get going is to use pip. You can then run the rodeo command from the terminal. You'll need to provide a directory as an argument. This tells rodeo which files you want to edit/run.

$ pip install rodeo

$ rodeo .

Rodeo in action

Rodeo is designed to be a simple, lightweight alternative to the IPython Notebook. It runs in your browser, but has the keyboard shortcuts and interactivity to make it feel more like a native app.

Autocomplete from either your editor or the console.

Execute commands in the console.

Autocomplete for objects and function properties.

Plots are displayed inside the application.

Help commands are displayed and saved in their own tab.

Click to view data frames and their content. You can CTRL + F to find specific data.

Before you go

We know Rodeo is far from perfect. If you find any bugs or have feature ideas, feel free to submit them as GitHub Issues. We're working on adding a tighter IPython integration along with better file i/o and directory display.

Appendix: How it works

Rodeo uses the IPython kernel under the hood to handle communication between the UI and your python environment. In this regard, you can sort of think of it as an alternative front end to the IPython Notebook.

For the editor, we're using Ace. It's easy to use and looks great! We're going to be incorporating some additional Ace features as configurable preferences for Rodeo in the near future.