Skip to content

Latest commit

 

History

117 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

文庫(bunko) — dev.aiseed.bunko

青空文庫の正本(注記付きテキスト)を構造化Unicodeデータに変換する Pythonライブラリ(pybunko)と、生成したデータ資産。運用(資産の 再生成・ミラー取得・書架データの維持)を担う独立リポジトリ。サーバなしで動きます。

エディタ「AISeed工房」は pykobo へ、 webフォームの道具 FormRescue は forms へ 独立しました(2026-07-18。それまでの履歴はこのリポジトリにあります)。

かつて同居していた Flutter 読者アプリ(app/bunko)は廃止しました。 Webでの閲覧は青空文庫本体があるため、読者向けの独自アプリは持ちません。 書架・目次のような一覧は静的サイトが向いています(tools/examples/ に 試作、配信は cf-publish で)。 コードは git 履歴(〜2026-07-17)から復元できます。

何が入っているか

場所 中身
pybunko/ Python ライブラリ ── 正本→Document→JSON/SQLite/EPUB/公式XHTML/フォント資産/xlsx
assets/ データ資産 ── aozora.db(全17,335作品/1,021作家メタ+代表27作品の本文)・IPAex明朝(JIS X 0213全外字入り)・jis2ucs.jsoncp932.bin
tests/ 168テスト・完全オフライン(urlopen遮断)
tools/ 開発用: build_assets.pybuild_gaiji_table.py・examples/(静的な書架・ビューアの試作)
docs/ DESIGN・MANUAL・KUMIHAN・LICENSING ほか(正本)

取得は GitHub ミラー(raw.githubusercontent.com)のみ・必ずキャッシュ経由。 公式サーバー(aozora.gr.jp)には一切アクセスしません。

使い方

pip install -e '.[epub]'      # import pybunko(PyPI未登録。git指定でも入る:
                              #   pybunko @ git+https://github.com/aiseed-dev/bunko.git)
pytest tests                  # 153テスト・完全オフライン

エディタから使う場合は pykobo を参照。

データ資産の再生成:

python tools/build_assets.py

全体設計は docs/DESIGN.md、パイプラインの使い方・拡張の仕方は docs/MANUAL.md、注記→変換の対応は docs/KUMIHAN.md(本家「組版案内」の現代版)。

アーキテクチャ

  • 一次表現は「外字解決済みの構造化Unicodeデータ」(Documentparser.py が唯一のパーサ)。出力形式は formats.py に関数を足す。
  • pybunko 本体はゼロ依存(標準ライブラリのみ)。EPUB・組版・フォント等の 重い依存は extras([epub]/[washi]/[font]…)。
  • 縦書き・原稿用紙・PDF組版は pywashi、 AsciiDoc は pyasciidoc に委譲。

ライセンス

コードは AGPL-3.0-or-later(Copyright (C) 2026 aiseed.dev)。データは CC BY 4.0 基本(出典: 青空文庫)。 詳細・例外(CC0対応表・IPAexフォント等)は docs/LICENSING.md。 外字対応表は aozora2html 由来(CC0)。図書カードのメタデータは CC BY 4.0(青空文庫)。 収録ファイルの利用は「青空文庫収録ファイルの取り扱い規準」に従ってください。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages