Intégration en ligne de commande
Les workflows en ligne de commande utilisent deux outils indépendants :
tidasest l'exécutable Rust natif publié pour la conversion locale TIDAS/eILCD, l'import de données ACV externes, la validation de packages, l'export de base de données et le packaging déterministe de versions.tiangong-lcaest le client de plateforme TianGong LCA distribué via npm pour les requêtes distantes, l'écriture de brouillons, la revue et d'autres workflows d'API.
Ces commandes ne sont pas des alias. Appelez tidas directement pour le travail local sur les
packages ; ne supposez pas que tiangong-lca l'appelle en interne.
Installer tidas 0.1.3
Les archives précompilées sont le canal privilégié pour l'utilisateur final et ne requièrent aucun
runtime Rust, Python, Java ou Node.js. Les installateurs téléchargent une archive immuable et son
fichier .sha256, puis les vérifient avant l'installation.
Linux et macOS
curl --proto '=https' --tlsv1.2 -fsSLO \
https://github.com/tiangong-lca/tidas-tools/releases/download/v0.1.3/install.sh
sh install.sh --version 0.1.3 --prefix "$HOME/.local"
"$HOME/.local/bin/tidas" --versionAjoutez $HOME/.local/bin au PATH si votre shell ne l'inclut pas déjà.
Windows PowerShell
Invoke-WebRequest `
https://github.com/tiangong-lca/tidas-tools/releases/download/v0.1.3/install.ps1 `
-OutFile install.ps1
.\install.ps1 -Version 0.1.3
& "$env:LOCALAPPDATA\Programs\tidas\bin\tidas.exe" --versionSi l'invite le demande, ajoutez ce répertoire bin au PATH.
Plateformes précompilées
| Plateforme | Archive de version |
|---|---|
| Linux x86_64 | tidas-v0.1.3-x86_64-unknown-linux-gnu.tar.gz |
| Linux ARM64 | tidas-v0.1.3-aarch64-unknown-linux-gnu.tar.gz |
| macOS Intel | tidas-v0.1.3-x86_64-apple-darwin.tar.gz |
| macOS Apple Silicon | tidas-v0.1.3-aarch64-apple-darwin.tar.gz |
| Windows x86_64 | tidas-v0.1.3-x86_64-pc-windows-msvc.zip |
Chaque archive de la version v0.1.3 est accompagnée d'un SHA-256 et d'un SBOM SPDX. Windows ARM64 est hors de la matrice de support actuelle. La version contient aussi des formules Homebrew et des manifestes Winget ; leur présence ne signifie pas qu'ils ont été soumis à un tap externe ou au dépôt communautaire Winget.
Installation depuis crates.io
Les développeurs disposant de Rust 1.88+ et des dépendances de développement libxml2/libxslt peuvent installer depuis les sources :
cargo install tidas --version 0.1.3 --locked
tidas --version
tidas version --format jsonLe paquet crates.io et l'exécutable installé se nomment tous deux tidas.
Workflows de packages tidas
Importer un format externe vers TIDAS
tidas import prend en charge EcoSpold 1/2, SimaPro CSV, openLCA JSON-LD, XLSX de processus
openLCA et les entrées ILCD/eILCD. Le format est normalement détecté :
tidas import ./openlca-package.zip \
--output ./imported \
--target tidas \
--format json
tidas validate ./imported/tidas \
--input-format tidas-json \
--issues ./imported/validation-issues.jsonl \
--format jsonLes sorties par défaut incluent import-report.json, issues.jsonl, tidas/ et
process-bundles/<process_uuid>/. Ajoutez --write-mapping pour générer mapping.csv.gz en vue
d'une revue par champ, ou --no-process-bundles si les packages de dépendances par processus sont
inutiles. .zolca n'est pas pris en charge ; exportez d'abord un format d'échange supporté depuis
openLCA.
Convertir entre TIDAS et eILCD
tidas convert ./tidas-package \
--output ./eilcd-package \
--to ilcd \
--format json
tidas convert ./eilcd-data \
--output ./tidas-package \
--to tidas \
--format jsonLes données converties se trouvent dans le sous-répertoire data/ du répertoire de sortie.
Validez la représentation cible avant téléversement ou usage en aval :
tidas validate ./eilcd-package/data --input-format ilcd-xml --format json
tidas validate ./tidas-package/data --input-format tidas-json --format jsonRapports et codes de sortie
Avec --format json, la sortie standard ne contient que le rapport lisible par machine. Persistez
les problèmes complets avec des options propres à chaque commande telles que --issues ; utilisez
l'option globale --report <PATH> pour écrire le rapport d'opération de façon atomique.
| Code | Signification |
|---|---|
0 | succès |
2 | commande terminée avec des problèmes de données |
64 | erreur d'utilisation ou d'option |
69 | capacité connue actuellement indisponible |
70 | erreur interne |
74 | échec d'E/S requis |
130 | opération annulée |
Les pipelines doivent inspecter à la fois le code de sortie et les champs JSON tels que status,
exit_class, diagnostics, artifacts et summary ; ne parsez pas le seul texte du terminal.
Installer et exécuter tiangong-lca
Pour les requêtes distantes, l'écriture de brouillons et les workflows de revue, exécutez une fois le dernier paquet publié :
npm exec --yes --package=@tiangong-lca/cli@latest -- tiangong-lca --help
npm exec --yes --package=@tiangong-lca/cli@latest -- tiangong-lca doctorInstallation globale :
npm install --global @tiangong-lca/cli
tiangong-lca --help
tiangong-lca doctorVariables d'environnement
Les commandes distantes nécessitent l'URL de l'API TianGong LCA et une clé API utilisateur :
TIANGONG_LCA_API_BASE_URL=
TIANGONG_LCA_API_KEY=
TIANGONG_LCA_SUPABASE_PUBLISHABLE_KEY=
TIANGONG_LCA_REGION=us-east-1TIANGONG_LCA_API_BASE_URLpeut pointer vers la racine du projet,/functions/v1ou/rest/v1.TIANGONG_LCA_API_KEYest la clé API utilisateur TianGong de la page du compte, pas une clé de projet Supabase.- Le CLI échange la clé API contre une session utilisateur et réutilise cette session pour l'accès aux Edge Functions et aux données Supabase.
Commandes courantes
tiangong-lca search flow --input ./search-flow.request.json --json
tiangong-lca search process --input ./search-process.request.json --json
tiangong-lca flow get --id <flow-id> --version <version> --json
tiangong-lca process list --state-code 100 --limit 20 --json
tiangong-lca dataset validate --input ./rows.jsonl --type auto --out-dir ./dataset-validate --json
tiangong-lca dataset evidence-search plan --query "China 2026 electricity mix data" --out-dir ./evidence-search --json
tiangong-lca dataset evidence-search run --input ./evidence-search.request.json --results ./search-results.json --out-dir ./evidence-search --json
tiangong-lca process save-draft --input ./patched-processes.jsonl --out-dir ./process-save-draft --dry-run --json
tiangong-lca lifecyclemodel validate-build --run-dir ./lifecyclemodel-run --jsonUtilisez l'aide intégrée pour toutes les options :
tiangong-lca flow --help
tiangong-lca process --help
tiangong-lca lifecyclemodel --help
tiangong-lca review --helpPortes d'automatisation
Pour les pipelines de production de données, le CLI fournit aussi des commandes de contrôle qualité utiles avant l'écriture, la publication ou la remise à un relecteur :
tiangong-lca process identity-preflight --input ./process-preflight.json --out-dir ./process-preflight --json
tiangong-lca flow identity-preflight --input ./flow-preflight.json --out-dir ./flow-preflight --json
tiangong-lca process build-plan validate --input ./process-build-plan.json --out-dir ./process-build-plan --json
tiangong-lca flow build-plan validate --input ./flow-build-plan.json --out-dir ./flow-build-plan --json
tiangong-lca publish run --input ./publish-request.json --dry-run --jsonidentity-preflightcompare un processus ou un flux cible aux données candidates et indique si l'automatisation peut le réutiliser, doit le router vers une revue manuelle, ou doit bloquer une nouvelle création.build-plan validatevérifie qu'un plan de construction de processus ou de flux inclut les décisions d'identité, les liaisons de preuve, les plans de nommage, les décisionsunit_of_analysiset les champs obligatoires de flux de référence ou de propriété de flux.dataset evidence-search plan/runplanifie la récupération de preuves publiques au niveau des champs et enregistre les résultats de recherche externes ; le CLI possède la matrice de requêtes, le budget, la normalisation des résultats et les artefacts de déclaration de preuve, tandis que les workflows humains ou d'agents conservent le jugement sur les sources.publish run --dry-runrapporte les résultats du règleset de publication avant une véritable écriture ou publication.
Ces commandes écrivent des rapports lisibles par machine sous outputs/ ou reports/ dans le
--out-dir choisi. Pour l'automatisation, lisez des champs tels que status, blockers,
issues, files et les chemins d'artefacts plutôt que de vous fier au texte du terminal.
Validation et rapports d'échec tiangong-lca
dataset validate, process save-draft, lifecyclemodel save-draft et les commandes de réparation
apparentées exécutent une validation locale du schéma TIDAS avant l'écriture. En cas d'échec de la
validation rapide, le CLI actuel utilise une validation approfondie adossée au SDK pour fournir des
chemins et messages de problème plus précis.
Cela signifie :
- les données qui passent la validation continuent d'utiliser le chemin rapide ;
- les données invalides doivent renvoyer des chemins de champs, codes et messages plus actionnables ;
- avant toute écriture
--commit, les lignes invalides au regard du schéma sont bloquées et consignées dansfailures.jsonlou le rapport de validation du répertoire de sortie. - Les chemins de schéma TIDAS
common:classification/common:categorypeuvent s'arrêter à leur profondeur de catégorie naturelle ; n'ajoutez pas de classes inférieures vides juste pour remplir la hiérarchie. Les chemins trop profonds, niveaux dupliqués ou valeurs invalides restent bloqués. - Pour les écritures de brouillons par lots, passez
--target-user-idavecprocess save-draft --commit. Le CLI vérifie la session d'authentification courante et tout propriétaire de brouillon visible avant l'écriture, tandis que la vérification par relecture prouve toujours le propriétaire final et la charge utile. dataset save-draftcontinue par défaut d'empêcher l'écriture en brouillons locaux au compte des Unit Groups, Flow Properties et autres configurations de base purement référentielles. Utilisez--allow-account-local-support, ou définissezTIANGONG_ALLOW_ACCOUNT_LOCAL_SUPPORT=1, uniquement pour des migrations ou réparations contrôlées ayant délibérément besoin de ces lignes de support dans Mes données ; les opérateurs interactifs devraient préférer les lignes existantes de la base.dataset classification apply --type locationpeut créer l'objet parent et le champ cible manquants lorsquetarget_pathpointe explicitement vers un champ de localisation dérivé du schéma. Les chemins ambigus ou champs hors localisation restent bloqués.dataset evidence-search runécrit le plan de recherche, les résultats normalisés, le rapport et, lorsque les preuves sont insuffisantes ou partielles, une déclaration de preuve JSON sousoutputs/.
Pour les intégrations de pipeline tiangong-lca, lisez les champs JSON tels que status,
counts, issues, files et les artefacts outputs/** générés plutôt que de vous fier au seul
texte du terminal. Pour l'import local de packages, la conversion ou la validation complète d'un
package, utilisez la commande tidas indépendante décrite ci-dessus.