A Fable (python) kernel for Jupyter
Project description
F# and Fable (Python) support for Jupyter
Fable Python is an F# kernel for Jupyter based on Fable and IPythonKernel. Fable is a transpiler that converts F# to Python (and JavaScript).
This work is work-in-progress and related to
- https://github.com/fable-compiler/Fable/issues/2339
- https://github.com/fable-compiler/Fable/pull/2345
Install
Make sure you have a recent version of .NET installed on your machine: https://dotnet.microsoft.com/download
You also need to install the fable-py
.NET tool globally (and make sure it's available in PATH environment)
dotnet tool install -g fable-py --version 4.0.0-alpha-026
pip install fable-py
python -m fable_py install
To use the very latest changes (for development):
git clone https://github.com/dbrattli/Fable.Jupyter.git
cd Fable.Jupyter
python setup.py develop
python -m fable_py install
Usage
You can use Fable Python in the Jupyter notebook by selecting the "F# (Fable Python)" kernel. To start Jupyter run e.g:
jupyter notebook
# or
jupyter lab
Magic commands
You can inspect the generated Python code by executing %python
in a cell:
%python
You can inspect the maintained F# program by executing %fsharp
in a cell:
%fsharp
F# Program
The kernel works by maintaining an F# program Fable.fs
behind the
scenes. This program lives in a separate tmp
folder for each instance
of the kernel.
Sometimes the generated F# program might become invalid because of the
submitted code fragments (this can happen with a Python notebook as well).
The way to recover is to reset the kernel. That will reset the F#
program that is running behind the notebook. To reset the kernel select
on the menu: Kernel -> Restart
or Kernel -> Restart & Clear Output
.
or you can use the reset command:
%reset
If you need additional package references you currently need to add them
manually to the Fable.fsproj
project file. TODO: handle #r nuget "...
commands from within the notebook.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fable_py-0.6.0.tar.gz
.
File metadata
- Download URL: fable_py-0.6.0.tar.gz
- Upload date:
- Size: 27.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a56a4f5462eb6f5a97375eff2d47a1c97b75f3cf6ed500b7f707a8ec6736c61 |
|
MD5 | 5f83ebbf1657a5e80dfa22bef90f93b9 |
|
BLAKE2b-256 | 371590ffe3a85d979e3d741828786c08653de3f699eebf4e217ca153199287f0 |
File details
Details for the file fable_py-0.6.0-py3-none-any.whl
.
File metadata
- Download URL: fable_py-0.6.0-py3-none-any.whl
- Upload date:
- Size: 26.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ea45436fe75bbf95f076b2c7625dbe8c0c7c6da1383d168eaae5addaa4f2ee0 |
|
MD5 | 2d9dbb5c2750242f8c0fc974bf7e77cb |
|
BLAKE2b-256 | a9e63c3e6860cf45c995c90a86eba8a379ae3f47e1d2c9fefd711278089caa42 |