Carnets is a stand-alone Jupyter notebook server and client. Edit your notebooks on the go, even where there is no network.
Carnets is now available on the AppStore.
For the latest version, use the TestFlight link. This version has more features, but also more bugs.
If the link doesn't work, you can also send an e-mail to receive a TestFlight invitation.
- clone the git repository
- type
./get_frameworks.sh
- compile the Python frameworks:
- change into the
cpython
directory:cd cpython
sh ./downloadAndCompile.sh
(this will download auxiliary frameworks, then compile cpython for OSX, iOS and Simulator)- the compile script may need some tuning depending on the version of XCode installed on your machine.
- change into the
- open Xcode, change the developer key, compile and install.
- See Project summary
- We are leaking 8-9 file descriptors for each kernel launch, and one thread. Trying to addres either of these results in more file descriptors being leaked.
- Ability to open notebooks in other applications (Safari, Juno...)
- Keyboard extension for iPads
- Opening files in iCloud
- Back/Forward buttons
- Save notebooks when app becomes inactive / background.
- Save last open notebook and restore when the app reopens.
- Better user interface for startup screen / ability to open notebooks everywhere, in place.
- You can't have more than 5 kernels running simultaneously.
- Related: silently terminate oldest kernel when we approach the maximum number of kernels.
- "Terminals" don't work. Todo: Remove the option from the menus.
- Fixed: Starting the 10th or so kernel fails with
zmq.error.ZMQError: Too many open files
- "new file", "new notebook", "copy notebook" now open a new window (instead of opening a blank window).
- Issue #3: "Kernel / restart and run all" does not work (kernel shudown followed by kernel restart does). Fixed with 9e3faa7
- Issue #2:
pip install
does not work (the package is unavailable, but the install process appears to have worked). Fixed with ee4cdc7
If it's a pure python package, you can install it yourself:
%pip install packageName
and remove it if it doesn't work:
%pip uninstall -y packageName
(you need the "-y" flag because there is no interaction)
Otherwise, open an issue and I'll add it to the default packages.