Komponenten-API
Ein component ist eine wiederverwendbare typisierte Code-Einheit — Python oder C++ —, deklariert durch ein component.yml-Manifest plus ein src/-Verzeichnis. Diese Seite ist die einzige Übersicht über die gesamte Komponenten-Fläche: die Manifest-Felder, das Typsystem und die Python- und C++-runtime-APIs. Sie bleibt absichtlich auf der Übersichtsebene — die erschöpfende Referenz pro Feld und pro Modul wird über die CLI und den in-shell-Agent (ppl docs get …, ppl docs tree) ausgeliefert, sodass die Tiefe genau dort lebt, wo du tatsächlich baust.
Das Manifest
Jedes component trägt eine component.yml an seiner Wurzel, die Identität, Build-Umgebung, typisierte I/O, config-Parameter, Datei- und Modellabhängigkeiten und optionale HTTP-Endpunkte deklariert. Das Manifest ist seine eigene Referenz — siehe Component contract für jedes Feld, mit Beispielen für config_schema, file_schema, generated_file_schema, cache und http.
Typsystem
Jeder type:-Slot — I/O, config und file bindings — verwendet dieselbe Typausdruck-Grammatik.
- Typausdruck-Syntax — Atomare, Listen
[T], GenericsT<U>, UnionsT | U, Tupel(A, B)und Records{f: T}. - Typen — die Übersicht über das Typsystem und die Wertliteral-Grammatik, die
ppl backend change-parametererwartet. - Benannte Typen — der Katalog von
Image,AudioFrame,Tensorund den Geometrie-Primitiven. - File-type-Katalog — die
file_type-Werte, die einfile_schema-Slot akzeptiert.
Sprach-APIs
Die runtime-API teilt sich nach Sprache auf — je eine Seite, beide auf dem Manifest und Typsystem oben aufgebaut. Jede Sprache ergänzt Operationsfamilien (Vision in beiden; Metriken, Signalverarbeitung und klassisches ML in Python), die über die CLI erreichbar sind.
- Python-Komponenten-API — der
run(handler)-Einstiegspunkt,configund mutable-Sync, zustandsbehaftete und Streaming-Muster, virtuelle I/O und die Media-Wrapper. Die Sprache für schnelle Iteration. - C++-Komponenten-API — die component-Klasse, I/O-Formen, runtime-Helfer, Media-Wrapper und Domain-Clients. Die Performance-Sprache.
Agent-Brief
- Agent-Metadaten — das
AGENT.yml/AGENT.json-Schema, das nachgelagerte Agents lesen, um ein component aus dem Katalog auszuwählen.
Build und Release
Das Manifest und die Sprach-APIs enden beim Quellcode; der Lebenszyklus rundherum lebt in den concept- und flow-Seiten.
- Build systems — wie
build_systemdas Image auswählt. - Install modes — build-time- gegenüber node-time-Install.
- Release semantics — was publish packt, taggt und hochlädt.
Vollständige Referenz in der CLI
Das tiefe Detail für jeden Abschnitt oben ist nur einen Befehl entfernt:
ppl docs get component-api/component-contract # every manifest field, with examplesppl docs get type-api/type-syntax # the full type grammarppl docs get component-api/python/component # Python entrypoint; swap the last segment per moduleppl docs get component-api/cpp/component # C++ entrypoint; swap the last segment per moduleppl docs tree | grep '^component-api/' # list every reference page