build-details.json v1.0

仕様

https://packaging.python.org/en/latest/specifications/schemas/build-details-v1.0.schema.json

build-details.json -- Python インストール状態のビルドの詳細を伴った静的な記述ファイル

オブジェクト

プロパティ

  • schema_version

スキーマバージョン。

これは、<MAJOR><MINOR> がパディングされていない番号でバージョン番号の メジャー 部分と マイナー 部分を表現するものとして、 <MAJOR>.<MINOR> フォーマットに続く文字列です。バージョン番号は、バージョン文字列を10進数の数として解釈することによって、算術的に比較しても構いません。

この仕様のバージョン番号にとって、この値は定数であって 1.0なければなりません

スキーマの将来のバージョン番号は、より大きなバージョン番号を使わなければ なりません 。このスキーマの将来のバージョン番号は、その仕様が後方互換性を尊重しているのでなければ、他のスキーマバージョンと同じ メジャー バージョン部分を使っては なりません -- 現在の仕様のどの一部分であってもデータの解釈が異なる意味になるようなやり方や、追加のプロパティ (additionalProperties によって引き起こされたエラー) を例外として新仕様の下で正当なデータが旧仕様の下では不当なものになるようなやり方で、変更したり拡張したりすることはできません。

文字列 <string>

定数 <const>

1.0

  • base_prefix

Python インストールのベースプレフィクス。

絶対パスか、そのファイルの一からの相対パスのいずれか。

文字列 <string>

/usr

../..

  • base_interpreter

ベースシステムにインストールされた Python インタープリタへのパス。

絶対パスか、 base_prefix に対する相対パス。

実行可能なインタープリタがインストールされているなら、このフィールドが 存在しなければなりません

文字列 <string>

/usr/bin/python

bin/python

  • platform

システムのプラットフォーム文字列。

このフィールドは、 sysconfig.get_platform()同等であるべきです

文字列 <string>

linux-x86_64

  • language

Python 言語の仕様に関係した詳細を含むオブジェクト。

オブジェクト

プロパティ

  • version

Python 言語のバージョンを文字列で表現したもの -- メジャー 部分と マイナー 部分だけから構成されるバージョン文字列。

このフィールドは、 sysconfig.get_python_version() と同等である べき です。

文字列 <string>

3.14

  • version_info

sys.version_info のフォーマットのオブジェクト。

この節は、 sys.version_info と同等である べき です。

オブジェクト

メジャー

3

マイナー

14

マイクロ

1

リリースレベル

ファイナル

シリアル

0

プロパティ

  • メジャー

  • マイナー

  • マイクロ

  • リリースレベル

文字列 <string>

enum

アルファ・ベータ・候補・最終

  • シリアル

additionalProperties

additionalProperties

  • 実装

Python の実装に関係した詳細を含むオブジェクト。

この節は、 sys.implementation と同等である べき です。それは、要求されたキー群に加えて実装特有のキー群も存在することが可能で、しかし、プレフィクスとしてアンダースコアがついていなければならないという、 PEP 421 で定義された仕様に従います。

オブジェクト

プロパティ

  • 名称

Python 実装の名前を小文字で。

文字列 <string>

cpython

pypy

  • version

実装のバージョン番号を含んだ、 sys.version_info のフォーマットのオブジェクト。

オブジェクト

メジャー

3

マイナー

14

マイクロ

1

リリースレベル

ファイナル

シリアル

0

メジャー

7

マイナー

3

マイクロ

16

リリースレベル

ファイナル

シリアル

0

プロパティ

  • メジャー

  • マイナー

  • マイクロ

  • リリースレベル

文字列 <string>

enum

アルファ・ベータ・候補・最終

  • シリアル

additionalProperties

additionalProperties

True

  • abi

ABI に関連した詳細を含むオブジェクト。

オブジェクト

プロパティ

  • flags

拡張のサフィックスを計算するために使われた、ビルド設定のフラグ。

フラグは、拡張のサフィックスに出現する順序に従って定義されなければ なりません

array

t

d

  • extension_suffix

現在の実装のバージョン番号に対してビルドされた拡張に使われるサフィックス。

Python 実装が拡張をサポートするのであれば、このフィールドは存在してい なければならず 、そうでないならこのエントリは存在しないことでしょう。

文字列 <string>

.cpython-314-x86_64-linux-gnu.so

  • stable_abi_suffix

安定飯の ABI に対してビルドされた拡張に使われるサフィックス。

Python 実装が安定版の ABI 拡張のサフィックスを持つなら、このフィールドは存在していなければ ならず 、そうでなければこのエントリは欠けていることでしょう。

文字列 <string>

.abi3.so

additionalProperties

  • suffixes

型ごとにグループ化された、正当なモジュールサフィックス群。

インストール済 Python が外部ファイルのインポートをサポートしているなら、このセクションは存在していなければ ならず 、また、それは、 importlib.machinery.*_SUFFIXES アトリビュートと同等のものである べき です。

さらに、 Python 実装が importlib.machinery モジュールに列挙されたもの以外の拡張の種類を提供しているなら、サブセクションを追加しても 構いません

オブジェクト

source

.py

bytecode

.pyc

optimized_bytecode

.pyc

debug_bytecode

.pyc

extensions

.cpython-313-x86_64-linux-gnu.so

.abi3.so

.so

  • libpython

libpython ライブラリに関係する詳細を含んだオブジェクト。

インストール済 Python が libpython ライブラリを提供しているなら、このセクションは存在していなければ なりません し、そうでなければこのセクションは欠けていることでしょう。

オブジェクト

プロパティ

  • dynamic

ダイナミックな (訳註: 共有ライブラリのことか) libpython ライブラリへのパス。

絶対パスか、 base_prefix に対する相対パス。

インストール済 Python が動的な libpython ライブラリを提供しているなら、このフィールドは存在していなくては ならず 、そうでなければこのエントリは欠けていることでしょう。

文字列 <string>

/usr/lib/libpython3.14.so.1.0

lib/libpython3.14.so.1.0

  • dynamic_stableabi

安定版の ABI のための動的な libpython ライブラリへのパス。

絶対パスか、 base_prefix に対する相対パス。

インストール済 Python が安定版の ABI をターゲットとした動的な libpython ライブラリを提供しているなら、このフィールドは存在していなければ ならず 、そうでなければこのエントリは欠けていることでしょう。

このキーが存在するなら、 dynamic もまた設定されていなければ なりません

文字列 <string>

/usr/lib/libpython3.so

lib/libpython3.so

  • static

静的な libpython ライブラリへのパス。

絶対パスか、 base_prefix に対する相対パス。

インストール済 Python が静的な libpython ライブラリを提供しているなら、このフィールドは存在していなければ ならず 、そうでなければ欠けていることでしょう。

文字列 <string>

/usr/lib/python3.14/config-3.14-x86_64-linux-gnu/libpython3.14.a

lib/python3.14/config-3.14-x86_64-linux-gnu/libpython3.14.a

  • link_extensions

拡張は、動的な libpython がリンクするようにビルドされているべきですか?

インストール済 Python が動的な libpython ライブラリを提供しているなら、このフィールドは存在していなくては ならず 、そうでなければこのエントリは欠けていることでしょう。

boolean

additionalProperties

  • c_api

Python C API に関連した詳細を含んだオブジェクト。

Python 実装が C API を提供しているなら、このフィールドは存在していなければ ならず 、そうでなければ欠けていることでしょう。

オブジェクト

プロパティ

  • headers

C API のヘッダファイル群へのパス。

絶対パスか、 base_prefix に対する相対パス。

文字列 <string>

/usr/include/python3.14

include/python3.14

  • pkgconfig_path

pkg-config 定義ファイル群へのパス。

絶対パスか、 base_prefix に対する相対パス。

Python 実装が pkg-config 定義ファイル群を提供しているなら、このフィールドは存在していなければ ならず 、そうでなければ欠けていることでしょう。

文字列 <string>

/usr/lib/pkgconfig

lib/pkgconfig

additionalProperties

  • arbitrary_data

余分で任意のデータを含むオブジェクト。

これは、この仕様でカバーされなかったすべての適切なデータを含めるための脱出用ハッチ <escape-hatch> として使われることを意図しています。このセクションにどんなデータを提供するかは実装の側が選択してもかまいません。

オブジェクト

additionalProperties

True

additionalProperties

{
  "schema_version": "1.0",
  "base_prefix": "/usr",
  "base_interpreter": "/usr/bin/python",
  "platform": "linux-x86_64",
  "language": {
    "version": "3.14",
    "version_info": {
      "major": 3,
      "minor": 14,
      "micro": 0,
      "releaselevel": "alpha",
      "serial": 0
    }
  },
  "implementation": {
    "name": "cpython",
    "version": {
      "major": 3,
      "minor": 14,
      "micro": 0,
      "releaselevel": "alpha",
      "serial": 0
    },
    "hexversion": 51249312,
    "cache_tag": "cpython-314",
    "_multiarch": "x86_64-linux-gnu"
  },
  "abi": {
    "flags": ["t", "d"],
    "extension_suffix": ".cpython-314-x86_64-linux-gnu.so",
    "stable_abi_suffix": ".abi3.so"
  },
  "suffixes": {
    "source": [".py"],
    "bytecode": [".pyc"],
    "optimized_bytecode": [".pyc"],
    "debug_bytecode": [".pyc"],
    "extensions": [".cpython-314-x86_64-linux-gnu.so", ".abi3.so", ".so"]
  },
  "libpython": {
    "dynamic": "/usr/lib/libpython3.14.so.1.0",
    "dynamic_stableabi": "/usr/lib/libpython3.so",
    "static": "/usr/lib/python3.14/config-3.14-x86_64-linux-gnu/libpython3.14.a",
    "link_extensions": true
  },
  "c_api": {
    "headers": "/usr/include/python3.14",
    "pkgconfig_path": "/usr/lib/pkgconfig"
  }
}