aikernel-tools は public AIKernel.Tools instrumentation surface の Python wrapper
です。
Install:
pip install aikernel-toolsImport:
from aikernel_tools import (
CanonicalFormatter,
ChatHistoryRecord,
ChatHistoryScraper,
InfoCommand,
MdExporter,
NowCommand,
ReplayEngine,
Inspector,
RomExporter,
RomStorageCapability,
TimelineCommand,
TreeCommand,
VfsGitCapability,
tools_assemblies,
)package は次を公開します。
- replay / inspection facade
- canonical chat-history formatting
- C# named chat-history scraper / exporter facade
- C# named KernelClock / VFS inspector command facade
- public Capability contract wrapper
- managed assembly discovery と pythonnet loading
Python で Tools internals を再実装しません。managed assembly は
aikernel_tools/native に同梱し、pythonnet / CoreCLR で読み込みます。
wheel には Tools assemblies と contract dependencies を含める必要があります。
AIKernel.Abstractions.dllAIKernel.Common.dllAIKernel.Core.dllAIKernel.Dtos.dllAIKernel.Enums.dllAIKernel.Tools.Instrumentation.dllAIKernel.Tools.Capability.RomStorage.dllAIKernel.Tools.Inspectors.ChatHistoryScraper.dllAIKernel.Tools.Inspectors.KernelClock.dllAIKernel.Tools.Inspectors.Vfs.dllChatHistoryProvider.dll
Linux validation では pythonnet が CoreCLR を load できる必要があります。loader は
managed reference を追加する前に pythonnet.load("coreclr") を明示的に呼び出します。
from aikernel_tools import CanonicalFormatter, ChatHistoryRecord, MdExporter, RomExporter
formatter = CanonicalFormatter()
rom = formatter.serialize([
ChatHistoryRecord("user", "hello", "2026-06-09T00:00:00+00:00")
])
markdown = MdExporter.to_markdown([
ChatHistoryRecord("assistant", "world", "2026-06-09T00:00:01+00:00")
])
history_rom = RomExporter.to_rom([
ChatHistoryRecord("assistant", "world", "2026-06-09T00:00:01+00:00")
])
print(rom)source check の推奨コマンドです。
python -m pytest
python -m compileall src testsLinux wheel validation では共有 Docker test image と virtual environment を使います。 base image は PEP 668 に従うため、system-wide pip installation は block されます。
Python package は public C# package surface を mirror します。
ReplayEngine->AIKernel.Tools.Instrumentation.ReplayEngineReplaySession->AIKernel.Tools.Instrumentation.ReplaySessionInspector->AIKernel.Tools.Instrumentation.InspectorCanonicalFormatter->AIKernel.Tools.Instrumentation.CanonicalFormatterCanonicalSerializer->AIKernel.Tools.Instrumentation.CanonicalSerializerMdExporter->AIKernel.Tools.Inspectors.ChatHistoryScraper.Export.MdExporterRomExporter->AIKernel.Tools.Inspectors.ChatHistoryScraper.Export.RomExporterChatHistoryScraper->AIKernel.Tools.Inspectors.ChatHistoryScraper.ChatHistoryScraperNowCommand/TimelineCommand-> KernelClock inspector commandsInfoCommand/TreeCommand-> VFS inspector commandsRomStorageCapability-> Core-owned ROM storage descriptor bridgeVfsGitCapability-> Core-owned VFS Git descriptor bridge
Python wrapper は thin wrapper のままにしてください。behavior が C# にある場合、 Python は managed assembly に委譲するか managed contract の data wrapper を公開します。 replay、canonical formatting、ROM serialization semantics を Python 側で別解釈しません。
wheel 公開前の check list です。
aikernel_tools/nativeに最新 Release DLL が入っていることを確認するpython/distから stale wheel を削除するpy -m compileall src testsを実行するpy -m pytestを実行するpy -m buildを実行する- generated wheel metadata に project URLs、license、pythonnet dependency、bundled managed assemblies が含まれることを確認する
wheel は PyPI から見ると pure Python ですが managed assembly を同梱します。Linux host では pythonnet が利用できる CoreCLR runtime が必要です。