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.0a9.dev1

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.0a9.dev1
File Size Uploaded
stbkit-0.1.0a9.dev1.tar.gz 128.3 kB Details

Built distribution (wheel)

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

Total release size: 323.4 kB

Release files / stbkit-0.1.0a9.dev1.tar.gz

Download URL stbkit-0.1.0a9.dev1.tar.gz
Size 128.3 kB
Tags Source
SHA-256 checksum
How to use checksums
edd3d50e84fe5415df579a1eb4d8fd6e1dc2695d5da16fc4ae834e861ab65a01
BLAKE2b-256 checksum
How to use checksums
af4f29daedc207ff5bc22851e3bab3843ac3a3c043875b2695e282daef88b904
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 9, 2026.

Transparency log

Release files / stbkit-0.1.0a9.dev1-py3-none-any.whl

Download URL stbkit-0.1.0a9.dev1-py3-none-any.whl
Size 195.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d34dedf971f72857600be94158e43d15731fa235f81314a1361203b40df08088
BLAKE2b-256 checksum
How to use checksums
1c750a5736b9e1d5d33a3b95f7e39b6db1a331932a8975cdefb615d177e35e81
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 9, 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