👏

nbdevを使用する際の備忘録

2023/03/15に公開

概要

Pythonでパッケージを作成する際、nbdevを使用しています。

https://nbdev.fast.ai/

nbdevは以下のように説明されています。

Write, test, document, and distribute software packages and technical articles — all in one place, your notebook.

(機械翻訳) ソフトウェア パッケージや技術記事の作成、テスト、文書化、配布をすべて 1 か所のノートブックで行います。

本記事では、nbdevを使用する際の備忘録です。

インストール

以下のチュートリアルのページが参考になります。

https://nbdev.fast.ai/tutorials/tutorial.html

以下、かいつまんで流れを説明します。

関連するツールをインストールした後、GitHubリポジトリを作成し、クローンした先で以下を実行します。

nbdev_new

その後、以下も実行しておきます。

nbdev_install_hooks

そしてnbsフォルダの中の00_core.ipynbなどを編集して、本ノートブックの最後のセルにある以下を実行します。

import nbdev; nbdev.nbdev_export()

その結果、Pythonモジュールが自動的に作成されます。

パッケージをインストールする

同一フォルダ内

以下を実行します。

pip install -e '.[dev]'

別のフォルダから

一例ですが、絶対パスを指定してインストールします。

例: /Users/hogehoge/tei_xml_tools の場合

pip install -e /Users/hogehoge/tei_xml_tools

-eオプションを付けることで、開発中にパッケージに加えられた変更をすぐに使用できます。

ライブラリの使用

以下のように%を使用することで、開発中の内容を反映することができました。

%load_ext autoreload
%autoreload 2
from tei_xml_tools.core import *

まとめ

その他、ドキュメントのプレビューやpypiにアップロードを行うためのコマンドも提供されています。機会があれば、nbdevの使い方全般についても記事にしたいと思います。

Discussion