Skip to main content

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

Install

Make sure you have a recent version of .NET installed on your machine: https://dotnet.microsoft.com/download

git clone https://github.com/dbrattli/Fable.Jupyter.git
cd Fable.Jupyter

dotnet tool install -g fable-py --version 4.0.0-alpha-010
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

The process currently needs to be running while using the notebook. TODO: see if we can do it the other way around and start dotnet from Python instead.

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 tmp folder.

Sometimes the generated F# program might become invalid because of the submitted code fragments (this happens 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.

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

fable_py-0.5.0.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

fable_py-0.5.0-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

Details for the file fable_py-0.5.0.tar.gz.

File metadata

  • Download URL: fable_py-0.5.0.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.2

File hashes

Hashes for fable_py-0.5.0.tar.gz
Algorithm Hash digest
SHA256 a2378208425723029098b29802d0d4bf3ec574a93627d4821f812fd401b9dd8b
MD5 9c3108931a942960f6cdf9731b62f949
BLAKE2b-256 879b3a5e13352c7df48d0b3025efc08b0dc8d02cfa533da8da573c4d98cb8901

See more details on using hashes here.

File details

Details for the file fable_py-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: fable_py-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 26.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.2

File hashes

Hashes for fable_py-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4e7646cb8b12ffce513e81a4c8a4c8f645e9897ec1a19c700e3ed53fde9006c4
MD5 07bfa412383c818701cfa9f277dc8eae
BLAKE2b-256 f85d7dfc8270769d0b1755b79025519921dc8c7ed6c5501fb6bc85180bd8c847

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page