GithubHelp home page GithubHelp logo

yhat / rodeo Goto Github PK

View Code? Open in Web Editor NEW
3.9K 197.0 410.0 25.11 MB

A data science IDE for Python

License: Other

JavaScript 87.59% Shell 0.28% Python 0.66% HTML 0.46% CSS 10.68% PureBasic 0.32% Batchfile 0.01%

rodeo's Introduction

rodeo's People

Contributors

coristig avatar glamp avatar hernamesbarbara avatar takenpilot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rodeo's Issues

Add a --no-browser option

iPython notebooks have a --no-browser option, which is helpful for running them on remote servers.

ANSI encode output

>>> raise Exception("FOO")
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-47-65402804b38d> in <module>()
----> 1 raise Exception("FOO")

Exception: FOO

rodeo command return error

Installed rodeo via the pip command on Win 8.1 (64 bit) machine. Ran the command on 'cygwin':
rodeo . and was returned the following error:

WindowsError: [Error 2] The system cannot find the file specified: 'c:\\cygwin64\\tmp\\kernel-b66e5ff6-2600-4a33-9f83-4889bf4b73f1.json'

Note: Latest Anaconda package was installed

Get "UnicodeDecodeError" while installing rodeo

When I tryed to install rodeo, I got an error as following:

   C:\Documents and Settings\wayangel\desktop\rodeo-master>python setup.py install
Traceback (most recent call last):
  File "setup.py", line 44, in <module>
    long_description=open("README.rst").read(),
UnicodeDecodeError: 'gbk' codec can't decode byte 0x98 in position 1106: illegal
 multibyte sequence

Changing that line to long_description=open("README.rst", encoding='utf8').read() seems working.

Fails with conda

Rodeo installs fine:

N:\>pip install rodeo
Collecting rodeo
  Downloading rodeo-0.2.1.tar.gz (3.5MB)
    100% |################################| 3.5MB 116kB/s
Requirement already satisfied (use --upgrade to upgrade): ipython>=3.0.0 in c:\anaconda\lib\site-packages (from rodeo)
Requirement already satisfied (use --upgrade to upgrade): Flask>=0.10.1 in c:\anaconda\lib\site-packages (from rodeo)
Requirement already satisfied (use --upgrade to upgrade): jedi in c:\anaconda\lib\site-packages (from rodeo)
Collecting docopt (from rodeo)
  Downloading docopt-0.6.2.tar.gz
Requirement already satisfied (use --upgrade to upgrade): pyzmq>=13 in c:\anaconda\lib\site-packages (from rodeo)
Installing collected packages: docopt, rodeo
  Running setup.py install for docopt
  Running setup.py install for rodeo
    Installing rodeo-script.py script to C:\Anaconda\Scripts
    Installing rodeo.exe script to C:\Anaconda\Scripts
Successfully installed docopt-0.6.2 rodeo-0.2.1

Command line without options prints help:

N:\>rodeo
rodeo

Usage:
  rodeo [--port=<int>] [<directory>]
  rodeo (-h | --help)
  rodeo --version

Options:
  -h --help     Show this screen.
  --version     Show version.

Help:
Rodeo is a data centric IDE for python. It leverages the IPython
Kernel but presents a different user experience than the notebook.
Those of you who use products like SublimeText or Eclipse will
probably find rodeo familiar.

Examples:
To run a rodeo server, just execute the `rodeo` command like so:
    $ rodeo . # basic usage
    $ rodeo . --port=4567 # run in this directory, but on port 4567
    $ rodeo /path/to/a/folder # run in a different directory
    $ rodeo /path/to/a/folder --port=4567 # new directory, new port

Running fails:

N:\>rodeo .
Traceback (most recent call last):
  File "C:\Anaconda\Scripts\rodeo-script.py", line 9, in <module>
    load_entry_point('rodeo==0.2.1', 'console_scripts', 'rodeo')()
  File "C:\Anaconda\lib\site-packages\rodeo\cli.py", line 41, in cmd
    main(active_dir)
  File "C:\Anaconda\lib\site-packages\rodeo\rodeo.py", line 72, in main
    kernel = Kernel()
  File "C:\Anaconda\lib\site-packages\rodeo\kernel.py", line 91, in __init__
    self.client.load_connection_file()
  File "C:\Anaconda\lib\site-packages\IPython\kernel\connect.py", line 503, in load_connection_file
    with open(self.connection_file) as f:
IOError: [Errno 2] No such file or directory: u'c:\\users\\hb55683\\appdata\\local\\temp\\kernel-5bb3c7e2-6874-4876-a547-b9c80dcad79
4.json'
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "C:\Anaconda\lib\atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "C:\Anaconda\lib\site-packages\rodeo\kernel.py", line 83, in remove_config
    os.remove(config)
WindowsError: [Error 2] The system cannot find the file specified: 'c:\\users\\hb55683\\appdata\\local\\temp\\kernel-5bb3c7e2-6874-4
876-a547-b9c80dcad794.json'
Error in sys.exitfunc:
Traceback (most recent call last):
  File "C:\Anaconda\lib\atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "C:\Anaconda\lib\site-packages\rodeo\kernel.py", line 83, in remove_config
    os.remove(config)
WindowsError: [Error 2] The system cannot find the file specified: 'c:\\users\\hb55683\\appdata\\local\\temp\\kernel-5bb3c7e2-6874-4
876-a547-b9c80dcad794.json'

Windows UAC and font appearance

Hi,
this looks very nice, but just after trying it I thought to shamelessly give my 2c:

  1. On Windows rodeo wont start unless I run it as administrator.
  2. Font sizes doesn't look right. On your screenshots it seems you develop on Mac, but on Windows it looks like this:

IE

Chrome

  • Console font is too small
  • Code editor font is also small
  • tooltip font is too big
  • and also Tab fonts are too big

At least that's my first impression.

Keep up the good work!

KeyError executing code

I pulled the latest version of the code (at time of writing) and I get the following error when I try to execute any code:

ERROR:rodeo.rodeo:Exception on / [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python2.7/dist-packages/rodeo-0.2.2-py2.7.egg/rodeo/rodeo.py", line 33, in home
    result = kernel.execute(code)
  File "/usr/local/lib/python2.7/dist-packages/rodeo-0.2.2-py2.7.egg/rodeo/kernel.py", line 139, in execute
    return self._run_code(code)
  File "/usr/local/lib/python2.7/dist-packages/rodeo-0.2.2-py2.7.egg/rodeo/kernel.py", line 134, in _run_code
    data = reply['content']['text']
KeyError: 'text'

Feature Requests : Add themes etc

current theme is too white and does not look good for projectors

ability to single click import libraries

ability to single click install libraries

ability to knit /pymarkdown

ISSUE not able to see my file system files in from the rodeo File Tab in left bottom

btw great work guys!!

rodeo command return error (w3m: Can't load http://localhost:5000/)

workuser@testm13:~/kung-foo$ rodeo .


|_ __ \ .' .|_ _.|_ __ | .' . | |__) | / .-. \ | |. \ | |_ |/ .-.
| __ / | | | | | | | | | | _ | | | |
| | \ _\ -' /_| |_.' /_| |__/ |\-' /
|
| |**|.**_.'|______.'|________| .___.'

''''''''''''''''''''''''''''''''''''''''''''''''''
URL: http://localhost:5000/
DIRECTORY: /home/workuser/kung-foo
''''''''''''''''''''''''''''''''''''''''''''''''''
w3m: Can't load http://localhost:5000/.
w3m: Can't load http://localhost:5000/.

Bug with hitting tab in the terminal

This is some great stuff! I ran into this bug while using it though.

I know there currently is no autocomplete in the terminal right now, but when I attempted, the line goes blank and I can not delete anything from the current buffer.

Typing an "l" in the terminal
Typing an "l" in the terminal

Hitting tab in the terminal afterwards
Hitting tab in the terminal afterwards

I attempt to delete but to no avail. Seems to only accept further input, not remove any. Pressing enter brings this screen up.
I attempt to delete but to no avail. Seems to only accept further input, not remove any. Pressing enter brings this screen up.

plotting dataframes using df.plot() does not work?

So far the only plotting that seems to work for me (using chrome on osx) is ggplot. Trying to directly plot a dataframe does not see to generate anything in the plots tab. Am I missing something? Perhaps some configuration setting?

python2 supported?

sys.version
'3.4.1 (default, Nov 3 2014, 14:37:43) \n[GCC 4.9.1 20140930 (Red Hat 4.9.1-11)]'

How i can run on Python2?

Bugs: Plots not showing, forced scrollbars, null values and autocompletion

I tested rodeo in Ubuntu 15.04, Chrome 42 and Firefox 37 using an anaconda environment and noticed a few bugs:

1 . Plots are not showing. I get the correct output in the console:

>>> ax.plot(range(10))
[<matplotlib.lines.Line2D at 0x7fdf4f954ed0>]

but the Plots tab is not showing anything and there is an Uncaught SyntaxError: Unexpected token ๏ฟฝ error in the console.

UPDATE: Now this has been fixed.

2 . The interface is forcing a scrollbar in the window:

screenshot from 2015-04-24 14 31 55

3 . As reported previously, the fonts are too small and the name of the panels are very large:

screenshot from 2015-04-24 14 34 44

UPDATE: Fixed using preferences->font size.

4 . There is a superfluous scrollbar in the DataFrame and History tabs:

screenshot from 2015-04-24 14 32 37

UPDATE: Also fixed.

5 . After saving a file, there is not an indication of the file name in the URL address.

6 . A lot of null values in the console (it would be better not to show that):

screenshot from 2015-04-24 14 36 16

UPDATE: Fixed.

7 . DataFrames variables are not being shown in the DataFrames tab.

UPDATE: Also fixed.

8 . Autocompletion seems not to show the correct objects at first:

screenshot from 2015-04-24 14 44 18

However, after executing that line, the objects are shown correctly:

screenshot from 2015-04-24 14 45 35

UPDATE: Fixed.

Consistent IO with Python 2 and Python 3

It seems that it's not possible to save a file when rodeo is run with Python 3.4 at the moment:

Traceback (most recent call last):
  File "/Users/ogrisel/venvs/py34/lib/python3.4/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/ogrisel/venvs/py34/lib/python3.4/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/ogrisel/venvs/py34/lib/python3.4/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/ogrisel/venvs/py34/lib/python3.4/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/Users/ogrisel/venvs/py34/lib/python3.4/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/ogrisel/venvs/py34/lib/python3.4/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/Users/ogrisel/venvs/py34/lib/python3.4/site-packages/rodeo/rodeo.py", line 60, in save_file
    f.write(request.form['source'])
TypeError: 'str' does not support the buffer interface

To make the code behave consistently under both Python 2 and Python 3, it would be neat to be able to use the http://python-future.org:

http://python-future.org/compatible_idioms.html#strings-and-bytes
http://python-future.org/what_else.html#open

WDYT? Would you accept pull request that would make the future package a dependency for the rodeo project?

Install `pyzmq` with the rodeo installation

Just pip installed rodeo and, on the first run, it complained the package pyzmq wasn't installed. I pip installed pyzmq and everything worked fine. Maybe that should be included as a dependency in the installation process or alike?

Really wonderful work, folks!

Tab key and other input behavior is wonky

x = 10
# x = now hit the tab key

Observe the x = text that you've already inputted now indents 5 spaces which is weird behavior.

  1. control + k and control + u should use readlines style clear behavior to erase to start and end of the line like it does in a normal ipython / bash shell.

NOTE - control + L appears to clear the shell as expected. just k and u that do not work.

  1. option + left arrow and option + right arrow should jump between word breaks
  2. control + w should erase one word backwards
  3. option + backspace should erase one word backwords.

ideally rodeo would look for the users ~/.inputrc file and respect whatever behaviors and keybindings / escape sequences are defined in that file if possible.

exit() command

>>> print(3)
3

>>> exit()
null
>>> 1 + 2
>>> print('hello world')
>>> 

Store plots files in tmp dir outside of package directory

Running into trouble plotting with the following error:

IOError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/rodeo/static/plots/1429821893-f96713d9-3684-44b6-8f44-88ef98f9e592.png'

I had to pip install rodeo with sudo but running rodeo as other than su won't allow writing to the site-package directory. Is it possible to stash tmp files someplace else that has write access by the user? Or cmod the plots directory to allow writing by non-owners?

Stand-alone application

It would be nice to have a PyQt-Webkit wrapper to make it a stand-alone app:

#!/usr/bin/env python

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *

app = QApplication(sys.argv)

web = QWebView()
web.load(QUrl("http://localhost:5000"))
web.show()

sys.exit(app.exec_())

Rodeo crashed my site-packages

He create link python => python3 and pip (not pip3) crashed progress install another package.
Example (pip default use python2, for python3 designed pip3):
- 24 04 2015 - 14 42 49

Add license for source code

This looks like a lovely lightweight IDE for Python. I don't see a license file in the repo, so wasn't sure if you intended it to be open source (hope so!).

Make it multi-user

Hi,

It would be great to have rodeo multiuser, as R Studio does !

Cheers,
Yann

On Python 3 rodeo doesn't run

It seems Rodeo does not support Python 3? I get this stack trace, using anaconda for Python3. For Python2 it works fine.

Traceback (most recent call last):
File "/Users/dcoevord/anaconda3/bin/rodeo", line 9, in
load_entry_point('rodeo==0.2.0', 'console_scripts', 'rodeo')()
File "/Users/dcoevord/anaconda3/lib/python3.4/site-packages/setuptools-15.1-py3.4.egg/pkg_resources/init.py", line 546, in load_entry_point
File "/Users/dcoevord/anaconda3/lib/python3.4/site-packages/setuptools-15.1-py3.4.egg/pkg_resources/init.py", line 2666, in load_entry_point
File "/Users/dcoevord/anaconda3/lib/python3.4/site-packages/setuptools-15.1-py3.4.egg/pkg_resources/init.py", line 2339, in load
File "/Users/dcoevord/anaconda3/lib/python3.4/site-packages/setuptools-15.1-py3.4.egg/pkg_resources/init.py", line 2345, in resolve
File "/Users/dcoevord/anaconda3/lib/python3.4/site-packages/rodeo/cli.py", line 26, in
from rodeo import main
ImportError: cannot import name 'main'

Issues: dataframe, files, autocompletion & Suggestions

Really liking the project and current work, it feels really responsive ๐Ÿ‘ and I could definitely see myself using this in my job.

Unfortunately, I am using osx (maverick) and dataframes and files don't get added to the UI.
auto completion also doesn't seem to work. I tried in Chrome and FFox to not avail :(

Also would it be possible to have a confirmation box when attempting to close/refresh the page and an autosave (could be only for as long as the server session last) of the changes that were done.
I closed the window a couple of times and was every-time greeted to an empty shell :(

vim keybindings may be killer feature

Very nice indeed - I agree with you that this fills a gap between the full notebook experience and development using a proper text editor.

Good bindings for vim are a feature that the ipython notebook can't easily provide, and it would be very attractive for us clumsy-in-notebook vim users if these were easy to enable for rodeo.

No such file or directory

I'm getting a missing file-folder error when trying to run Rodeo on both py2 and py3 environments

(py3k)Christophers-MacBook-Pro:~ chrisralbon$ rodeo .
Traceback (most recent call last):
  File "/Users/chrisralbon/anaconda/envs/py3k/bin/rodeo", line 9, in <module>
    load_entry_point('rodeo==0.2.1', 'console_scripts', 'rodeo')()
  File "/Users/chrisralbon/anaconda/envs/py3k/lib/python3.4/site-packages/rodeo/cli.py", line 41, in cmd
    main(active_dir)
  File "/Users/chrisralbon/anaconda/envs/py3k/lib/python3.4/site-packages/rodeo/rodeo.py", line 72, in main
    kernel = Kernel()
  File "/Users/chrisralbon/anaconda/envs/py3k/lib/python3.4/site-packages/rodeo/kernel.py", line 91, in __init__
    self.client.load_connection_file()
  File "/Users/chrisralbon/anaconda/envs/py3k/lib/python3.4/site-packages/IPython/kernel/connect.py", line 503, in load_connection_file
    with open(self.connection_file) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/l_/t7xb0srs2vl248mf61063b840000gn/T/kernel-f4f55455-1347-4607-8131-262c14871d33.json'
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/Users/chrisralbon/anaconda/envs/py3k/lib/python3.4/site-packages/rodeo/kernel.py", line 83, in remove_config
    os.remove(config)
FileNotFoundError: [Errno 2] No such file or directory: '/var/folders/l_/t7xb0srs2vl248mf61063b840000gn/T/kernel-f4f55455-1347-4607-8131-262c14871d33.json'
(py3k)Christophers-MacBook-Pro:~ chrisralbon$ 

rodeo usage on remote host

I have rodeo installed on a server online and i want access to it remotely
is there a command line otion or configuration file where to set the hostname (instead of just localhost) and to avoid to open a browser from the host machine ?

Permission denied error

When attempting to plot something, a permissions error is given with regards to the ./Python/2.7/site-packages/rodeo/static/plots/ directory.

This might be due to installing rodeo via pip using sudo, but pip fails to install if sudo is not used.

File panel doesn't read files

Really cool IDE guys!

One issue: I can read .py files when using the File menu dialog. However, if I click in the file name that appears in the file panel in at right-bottom, a new tab with the file name appears but looks empty. I've started the IDE just as explained in the quickstart and the files are those contained in the folder where I run rodeo ..

screen shot 2015-04-23 at 17 39 43

tab completion broken in editor, fine in console

I'm just starting to use rodeo, and pressing tab in the editor simply inserts a tab instead of doing any completion. Tab completion does appear to work in the terminal however. Nominally this is version 0.2.1, python is version 2.7.9 and ipython is at version 3.1.0. I'm running OS X 10.10.3 and the issue happens in safari, firefox and chrome.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.