# Pineapple for Fedora

Last updated 2016-12-21 02:12:51 SGT

Pineapple is an open-source Jupyter notebook frontend using wxWidgets, originally written for Mac OS X (and buildable on Ubuntu). After a weekend of hacking around (procrastinating on a take-home final exam), I've successfully gotten it to build on Fedora 25. Interested parties can grab a copy here, or fork the (already forked) GitHub repo.

## Build quirks

• The Makefile doesn't install Python binaries into the tarfile by default somehow. Something's broken, too lazy to fix
• As of the current release of Jupyter, token authentication needs to be disabled before Pineapple works properly
• The copy of python here is linked against Fedora's distributed openssl libraries (python build of _ssl fails otherwise and I do need to get my exam done eventually)
• No .desktop file included (I usually install applications into ~/.local and make my own desktop file for ~/.local/share/applications)
• Since Fedora installs Python 3 to /usr/bin/python3 (python is Python 2 for compatibility reasons) the default for "Local Python" has been changed accordingly
• For some reason the default kernel list is generated at ~/Library/Pineapple/Jupyter (hard-coded in src/MainApp.cc) even if the server is set up to use a different configuration path (which is otherwise hard-coded in scripts/pineapple-server. Personally I use ~/.Pineapple)

## Thoughts

Despite the long list of quirks and lack of AppImage support, this still feels better than nteract. I very much appreciate the use of wxWidgets, since that results in a look and feel very much closer to the rest of my (GTK-based) desktop than Electron. I also appreciate it being a much thinner client for Jupyter than nteract (since nteract and Jupyter proper have incompatible LaTeX behaviours and other conflicting ways of handling metadata).

Like nteract, this unfortunately doesn't support some Jupyter extensions that I like (in particular hide_code [although that's somehow broken for me] and the LaTeX handling extensions), but as it stands I think I'm finding it fairly usable.