Skip to content

v2.5.2

Latest
Compare
Choose a tag to compare
@TakenPilot TakenPilot released this 03 Jan 20:12

Summary

New Major Features:

  • Ship with Anaconda's Miniconda for when there is no python installed on the system. (Windows-only)
  • Vastly improved startup speed (with a fancy loading icon) and removed loading popup, since it is not needed anymore
  • Restore application state when opened, including tabs open and terminal history.
  • Adding or overriding Environment Variables inside Rodeo

Details

It's been a month since the last update of Rodeo. Sorry about the delay. I was trying to figure out how to help people install Python.

Built-in Miniconda on Windows

From the feedback that Colin and Elise have been getting, most newbie data scientists struggle with installing Python on Windows machines. Mac and Linux users are somewhat better at it, but they often like installing libraries and everything themselves, which is honestly quite cool.

Anyway, this new version has Miniconda built into the Windows version. It will obviously try and run any version it finds on the system first by running "python" on the command line, but then it will fall back to the built-in version. If the built-in version fails, it will show the default starting screen to help people resolve whatever issue they have on their system.

Removed Starting / Loading Screen

In previous versions of Rodeo 2.x, there was an annoying window that popped up that tried to detect problems with the system that it was running on. It was seriously annoying, but it was the only solution we could think up for all the problems that people were having with their Jupyter/IPython installations.

In this new version (2.5.x), we're going to try a different approach and see if it works better. Instead of trying to detect problems before the main Rodeo application launches, we're going to try and detect problems after they've already happened. This means that most users will not be blocked or slowed down after they have everything set up nicely.

Um, I also did a bunch of things to speed up the startup speed of Rodeo as well. On my 2012 MacBook Pro, Rodeo loads in 2.5 seconds. I have some ideas to get this down to 1 second, but it'll require some new techniques. The technology inside the Rodeo UI is getting strangely advanced.

Restore Application State when Reopened

There are two parts to this new feature: Firstly, when Rodeo shuts down it saves the current state of the app. It remembers what files you have open, the history of the terminal, what your current working directory is -- that is, almost everything. Secondly, when Rodeo is reopened it tries to restore that state. Hopefully this feature saves people a lot of time.

This is just the first iteration of this feature, and I want to add auto-saving of files and plots later.

Adding or overriding Environment Variables inside Rodeo

As wonderful as Python is, it relies on some concepts that beginner data scientists struggle with -- like environment variables. Even for advanced users, managing environment variables on a system is complex because they're always somewhat global, and there are always several ways to set them depending on operating system and the way an application is started.

screen shot 2016-12-17 at 7 35 02 pm

I added an Environment Variables interface in the Preferences to help, and hopefully it makes someone's life easier. It shows all the environment variables currently affecting their scripts (shown in blue), and lets everyone add or override them safely too (shown in white). I tried to make it more difficult to mess up your system by moving the PATH and the PYTHON PATH to their own lists. I don't know if this is the best interface to manage such a thing, so I hope people give lots of feedback in the forums.

screen shot 2016-12-17 at 7 33 22 pm

Bonus Features

This is an open source project, and people have been really great about providing feedback and helping out in all kinds of ways.

  • Check existence of current working directory before trying to start python. Thanks fioraz! [forum link]
  • Default to PYTHONIOENCODING=utf-8, since our terminal is utf-8 by default already. Thank you teramonagi! [forum link]
  • Pop up dialog before quitting. This can be disabled in Preferences > Global or in the quit dialog itself. This is first step toward warning the user about unsaved work.
  • Choose whether to use Pip or Conda to install packages. This is available in Preferences > Python
  • Terminal Cursor is now thin and slightly blinking to match the editor tabs. This can be changed back through the Preferences as well.
  • General improvements to performance all over the place. You'll probably notice.