Aller au contenu principal

enterprise_ai.packs.build

Source : sdks/python/src/enterprise_ai/packs/build.py. Retour à l'index de la référence du SDK Python.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Modèle BuildResult​

Résultat de build_pack : archive, condensat, SBOM, rapport de validation et condensats des fichiers.

Champs :

NomTypeRequisDescription
archivePathouiLe pack .tar.gz, encodé en base64 (12 Mio de texte au plus).
digeststrouiSHA-256 de la preuve (commandes, enregistrement), 100 caractères au plus.
sbomdict[str, Any]ouiNomenclature logicielle (SBOM) du pack.
sbom_pathPathouiChemin du fichier <name>-<version>.spdx.json écrit.
reportPackReportouiRapport de validation du pack (PackReport).
filesdict[str, str]ouiFichiers à importer (1 à 200).

BuildResult.to_dict​

to_dict() -> dict[str, Any]

Le résultat sous forme de résumé prêt pour JSON.

Cet élément ne prend aucun paramètre.

Retour : dict[str, Any]. Dict {archive, digest, sbom, files, name, version} : chemins en texte, files est le nombre de fichiers.

Fonctions​

sha256_bytes​

sha256_bytes(data: bytes) -> str

Condensat SHA-256 d'octets, préfixé par sha256:.

NomTypeDéfautRequisDescription
databytesouiOctets à hacher.

Retour : str. Texte sha256:<64 caractères hexadécimaux>.

source_date_epoch​

source_date_epoch() -> int

Date fixe des entrées de l'archive et du SBOM, lue dans la variable d'environnement SOURCE_DATE_EPOCH.

Cet élément ne prend aucun paramètre.

Retour : int. Heure Unix en secondes ; 0 si la variable n'est pas définie.

archive_bytes​

archive_bytes(root: Path) -> tuple[bytes, dict[str, str]]

Construit en mémoire l'archive tar gzip reproductible du pack : entrées triées, mode 0644 ou 0755, propriétaire 0, date SOURCE_DATE_EPOCH.

NomTypeDéfautRequisDescription
rootPathouiDossier du pack ; les fichiers sont choisis par pack_files.

Retour : tuple[bytes, dict[str, str]]. Tuple (octets de l'archive, {chemin relatif: sha256:<hex>}).

spdx_sbom​

spdx_sbom(report: PackReport, digest: str, files: dict[str, str]) -> dict[str, Any]

Document JSON SPDX 2.3 : le paquet du pack, chaque fichier avec son SHA-256 et les dépendances d'exécution épinglées.

NomTypeDéfautRequisDescription
reportPackReportouiRapport de validation du pack : nom, version, licence et propriétaire viennent de son manifeste ; les lignes épinglées de requirements.txt deviennent des dépendances.
digeststrouiCondensat sha256:<hex> de l'archive, utilisé dans l'espace de noms et la somme de contrôle du paquet.
filesdict[str, str]ouiChemin relatif vers sha256:<hex> de chaque fichier de l'archive.

Retour : dict[str, Any]. Document SPDX 2.3 sous forme de dict.

build_pack​

build_pack(path: str | Path, out_dir: str | Path | None = None) -> BuildResult

Valide, puis écrit <name>-<version>.tar.gz et <name>-<version>.spdx.json dans out_dir.

NomTypeDéfautRequisDescription
pathstr | PathouiDossier du pack à construire ; un pack invalide lève ValueError avec la liste des erreurs.
out_dirstr | Path | NoneNonenonDossier de sortie, créé s'il manque ; par défaut dist dans le pack.

Retour : BuildResult. Un BuildResult avec le chemin de l'archive, son condensat sha256: et le SBOM.

Erreurs levées : ValueError.