• nbdevを使うと、Jupyter Notebookの中ですべてが完結!
  • コード、テストとドキュメントを一体化させつつ、開発にストーリー性をもたせよう。

$$\sum_{i=1}^{n}i = \frac{n(n+1)}{2}$$

数式が書けます!アルゴリズムの説明に役に立ちます。

You can write maths to explain algorithms.

from nbdev.showdoc import *

say_hello[source]

say_hello(to)

Say hello to somebody

say_hello("甘太郎")
'Hello 甘太郎!'
from IPython.display import SVG, display

display(SVG('<svg height="100"><circle cx="50" cy="50" r="40"/></svg>'))
assert say_hello("Jeremy") == "Hello Jeremy!"

class HelloSayer[source]

HelloSayer(to)

Say hello to to using say_hello

HelloSayer.say[source]

HelloSayer.say()

Do the saying

o = HelloSayer("Alexis")
o.say()
'Hello Alexis!'

Class patching

from fastcore.foundation import patch


class MyClass(int):
    pass
@patch
def func(self: MyClass, a):
    return self + a
mc = MyClass(3)
mc.func(10)
13