Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

stbkit

ST-Bridgeを扱うためのツールキットです。

An utility library for handling ST-Bridge.

ST-Bridgeは、日本の建築構造分野で広く利用されている建築構造データ交換フォーマットです。

ST-Bridge is a structural data exchange format widely used in Japan.

詳細はリポジトリのREADMEおよびDISCLAIMERをご確認ください。

概要

stbkitはST-Bridgeを扱うためのツールキットSTB-KITの統合パッケージです。

stbkit-core(データモデル・バリデーション)をコアの依存とし、主に以下の機能を提供します。

  • CLIコマンドツール(フォーマット変換、バリデーション、差分検出等)
  • PLYへの変換
  • IFCへの変換(ifcopenshell利用)

本パッケージは 安全性検証(構造安全性の保証・確認)や法令適合性判定を行いません。
出力結果の検証、専門家確認、適用法令の確認は利用者の責任です。

インストール(最小構成)

STB-KITは現在ベータ版です。通常のインストールではベータ版が選ばれない場合があるため、次の例では--preを指定します。利用するベータ版の番号が分かっている場合は、stbkit==バージョン番号のようにバージョンを直接指定することもできます。

python -m pip install --pre stbkit

オプション依存について

  • ifc : IFC関連の処理を利用する場合に必要です。
    例)IFC形式への変換など
    インストール方法:
    python -m pip install --pre "stbkit[ifc]"
    
    ※300MB程度のディスク容量が必要です
  • xsd : XSDによるスキーマ検証を利用する場合に必要です。
    例)stbkit validate --schema の指定など
    インストール方法:
    python -m pip install --pre "stbkit[xsd]"
    
  • full : 全機能を利用する場合に必要です(xsd, ifc を含む)。 インストール方法:
    python -m pip install --pre "stbkit[full]"
    
    ※300MB程度のディスク容量が必要です

CLI使用例

  • ヘルプを表示する
stbkit -h
  • ST-Bridgeのバリデーションを行う
stbkit validate model.stb
  • ST-BridgeをPLYへ変換する
stbkit convert model.stb -o model.ply
  • ST-BridgeをIFCへ変換する(依存パッケージのifcopenshellが必要です)
stbkit convert model.stb -o model.ifc
  • 2つのST-BridgeのXML差分を表示する
stbkit diff xml reference.stb target.stb
  • 標準入力から読み込む
cat model.stb | stbkit validate -

validateとconvertが対応しています。 diffは入力が2つあるため対応していません。

CLIの終了コード

終了コードについてはstbkitのサブコマンドで、同系統の結果で同じになるようにしています。 0と1は処理を正常に実行できた場合、2以降は処理が実行しきれなかった場合です。 正常に完了したかどうかのみを判定したい場合は、終了コードが1以下かで判定できます。

終了コード 意味 例
0 正常に終了 バリデーションOK、diffの差分無し、変換成功
1 正常に実行できたが、対象に問題または差分が見つかった バリデーションNG、diffの差分有り, 変換は実行できたがエラーあり
2 引数や指定の間違いで、処理が開始できなかった 未知のオプション、非対応の変換、存在しないパスの指定
3 処理の実行中にエラーが生じた XMLの構文エラー、サイズ上限の超過、比較の失敗
4 任意依存パッケージが導入されておらず、要求された処理が実行できない ifcopenshell無しでのIFC変換、xmlschema無しでの--schema指定
130 中断終了 Ctrl+C

1は正常に実行した結果でエラーではないですが、検査や比較を行うツールの慣習に合わせているためです。 grepの一致なし、diffの差分あり、git diff --exit-codeの差分有り等は1を返します。 エラーは2以降へ割り当て、正常実行の1がエラーと混ざらないようにしています。 想定外例外も3を返すので、1はバリデーションや差分が正しくできた場合の結果となります。

validateでバリデーション不合格と実行中エラーが同時に生じた場合は、バリデーション不合格の問題を優先して1を返します。 ディレクトリ内をまとめて検査する場合、読み込めないファイルがあっても残りの検査は続行します。

diffで差分があっても0を返したい場合は、--exit-zeroを指定します。

ドキュメント

ドキュメントは現在準備中です。公開時にこちらへリンクを掲載します。

  • ユーザーガイド(準備中)
  • バージョンアップ、IFC変換の仕様(準備中)

依存ライブラリ・再配布に関する注意

  • 一部の依存ライブラリはライセンスがLGPLです。本プロジェクトはLGPLライブラリを同梱して再配布しません。ライセンスに関しては利用者が確認してください。
  • 詳細はリポジトリのTHIRD_PARTY_COMPLIANCEを参照してください。

依存パッケージ(間接依存を除く)

必須

  • stbkit-core(MPL-2.0)

オプション

  • xmlschema(MIT): XSDを利用したバリデーションで利用
  • ifcopenshell(LGPL): IFCへの変換で利用
  • numpy(BSD-3-Clause): ifcopenshellへ渡す回転用列の作成に利用

ライセンス

本プロジェクトのソースコードは Mozilla Public License 2.0 (MPL-2.0) のもとで提供されます。

  • MPL-2.0 はファイル単位のコピーレフトライセンスです。
  • 本プロジェクトの改変部分(該当ファイル)を再配布する場合、ソース公開義務が発生します。
  • 本ライブラリを利用するアプリケーションはOSSである必要はありません

実務利用とオープンな改善の両立を意図したライセンスです。

免責(重要)

本ソフトウェアは現状有姿で提供され、いかなる保証もありません。 詳細はリポジトリのDISCLAIMERを参照してください。

Copyright 2026 TAISEI CORPORATION

Metadata

Release files for stbkit 0.1.0b1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for stbkit 0.1.0b1
File Size Uploaded
stbkit-0.1.0b1.tar.gz 130.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for stbkit 0.1.0b1
File Interpreter ABI Platform
stbkit-0.1.0b1-py3-none-any.whl Python 3 none any Details

Total release size: 330.0 kB

Release files / stbkit-0.1.0b1.tar.gz

Download URL stbkit-0.1.0b1.tar.gz
Size 130.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0a7f58a31df0ae51bf97d5cf12e989d30d6489bb6f8f9136dc6c03de391d230d
BLAKE2b-256 checksum
How to use checksums
021777c0a2bb0ca0043f51f008aa42471b9541cbdd3182e487a1f85176b5d429
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / stbkit-0.1.0b1-py3-none-any.whl

Download URL stbkit-0.1.0b1-py3-none-any.whl
Size 199.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
62f4dc4e4c2e0aafb728276e933d9c1d94d13cfa168cf5782fe9c0cf89696296
BLAKE2b-256 checksum
How to use checksums
12d8e1a6585872e09e7136ca37fed8730287850c5e4228e262dcc5345c829ee6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page