Flower CLI reference

Commandes de base

flwr CLI

flwr

flwr est l’interface de ligne de commande de Flower.

flwr [OPTIONS] COMMAND [ARGS]...

Options

--install-completion

Installez la complétion pour le shell actuel.

--show-completion

Affichez la complétion pour le shell actuel, afin de la copier ou de la personnaliser.

app

Gérez les applications

flwr app [OPTIONS] COMMAND [ARGS]...
publish

Publiez une application Flower sur Flower Hub.

Cette commande télécharge votre projet d’application vers Flower Hub. Les fichiers sont filtrés en fonction des modèles .gitignore et des extensions de fichier autorisées.

flwr app publish [OPTIONS] [APP]

Arguments

APP

Optional argument

Répertoire de projet à télécharger (par défaut, le répertoire courant).

review

Téléchargez un FAB pour <APP-ID>, décompressez-le pour examen manuel et, après confirmation, signez & soumettez la revue à Flower Hub.

flwr app review [OPTIONS] APP_SPEC

Arguments

APP_SPEC

Required argument

Spécificateur d’application (par exemple, @account/app” ou @account/app==1.0.0”). La version est facultative ; par défaut, utilisez la dernière.

build

Construisez une application Flower en un Bundle d’Application Flower (FAB).

Vous pouvez exécuter flwr build sans arguments pour emballer l’application située dans le répertoire actuel. Alternativement, vous pouvez spécifier un chemin en utilisant l’option --app pour emballer une application située à l’emplacement fourni.

Pour plus d’informations sur les options disponibles, consultez la documentation de l’application flwr build --app ./apps/flower-hello-world.

flwr build [OPTIONS]

Options

--app <app>

Chemin de l’application Flower à bundler dans un FAB

config

Gérez les Configurations

flwr config [OPTIONS] COMMAND [ARGS]...
list

Affichez toutes les connexions SuperLink (alias : ls).

flwr config list [OPTIONS]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

federation

Gérez les Fédérations

flwr federation [OPTIONS] COMMAND [ARGS]...
add-supernode

Ajoutez un SuperNode à une fédération.

flwr federation add-supernode [OPTIONS] NODE_ID FEDERATION [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

NODE_ID

Required argument

ID du SuperNode à ajouter.

FEDERATION

Required argument

Name of the federation.

Optional argument

Nom de la connexion SuperLink.

archive

Archiviez une fédération existante.

flwr federation archive [OPTIONS] FEDERATION [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

FEDERATION

Required argument

Nom de la fédération à archiver.

Optional argument

Nom de la connexion SuperLink.

create

Créez une nouvelle fédération.

flwr federation create [OPTIONS] FEDERATION [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

--description <description>

Description de la fédération.

--simulation

Créez cette fédération pour usage de simulation.

Default:

False

Arguments

FEDERATION

Required argument

Nom de la fédération à créer.

Optional argument

Nom de la connexion SuperLink.

invite

Gérez les Invitations de Fédération

flwr federation invite [OPTIONS] COMMAND [ARGS]...
accept

Acceptez une invitation pour rejoindre une fédération.

flwr federation invite accept [OPTIONS] FEDERATION [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

FEDERATION

Required argument

Name of the federation.

Optional argument

Nom de la connexion SuperLink.

create

Créez une invitation pour rejoindre une fédération.

flwr federation invite create [OPTIONS] ACCOUNT FEDERATION [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

ACCOUNT

Required argument

Nom du compte Flower à inviter.

FEDERATION

Required argument

Name of the federation.

Optional argument

Nom de la connexion SuperLink.

list

Affichez les invitations adressées à vous et les invitations créées par vous (alias : ls).

flwr federation invite list [OPTIONS] [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

--verbose

Afficher les invitations non pendantes.

Default:

False

Arguments

Optional argument

Nom de la connexion SuperLink.

reject

Rejeter une invitation pour rejoindre une fédération.

flwr federation invite reject [OPTIONS] FEDERATION [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

FEDERATION

Required argument

Name of the federation.

Optional argument

Nom de la connexion SuperLink.

revoke

Révoquer une invitation en attente.

flwr federation invite revoke [OPTIONS] ACCOUNT FEDERATION [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

ACCOUNT

Required argument

Nom du compte Flower dont l’invitation doit être révoquée.

FEDERATION

Required argument

Name of the federation.

Optional argument

Nom de la connexion SuperLink.

list

Lister les fédérations disponibles ou les détails d’une fédération spécifique (alias : ls).

flwr federation list [OPTIONS] [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

--federation <federation>

Nom de la fédération à afficher

--verbose

Afficher des informations supplémentaires, y compris les fédérations archivées.

Default:

False

Arguments

Optional argument

Nom de la connexion SuperLink.

remove-account

Supprimer un compte d’une fédération existante.

flwr federation remove-account [OPTIONS] FEDERATION [ACCOUNT_NAME] [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

FEDERATION

Required argument

Nom de la fédération dont supprimer un compte.

ACCOUNT_NAME

Optional argument

Nom du compte à supprimer de la fédération.

Optional argument

Nom de la connexion SuperLink.

remove-supernode

Supprimer un SuperNode d’une fédération.

flwr federation remove-supernode [OPTIONS] NODE_ID FEDERATION [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

NODE_ID

Required argument

ID du SuperNode à supprimer.

FEDERATION

Required argument

Name of the federation.

Optional argument

Nom de la connexion SuperLink.

simulation-config

Configurer une Fédération en utilisant le Simulation Runtime.

flwr federation simulation-config [OPTIONS] [FEDERATION] [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

--num-supernodes <num_supernodes>

Nombre de SuperNodes virtuels dans la simulation

--client-resources-num-cpus <client_resources_num_cpus>

CPUs attribuées à l’exécution de chaque ClientApp

--client-resources-num-gpus <client_resources_num_gpus>

Ratio de VRAM GPU attribué à l’exécution de chaque ClientApp

--verbose

Exécuter le Simulation Runtime avec des journaux détaillés.

--backend-name <backend>

Choix du nom de backend (Actuellement, seul “ray” est pris en charge).

Options:

ray

--init-args-num-cpus <init_args_num_cpus>

Nombre de CPUs à rendre disponibles au Simulation Runtime.

--init-args-num-gpus <init_args_num_gpus>

Nombre de GPU à rendre disponibles au Simulation Runtime

--init-args-logging-level <init_args_logging_level>

Contrôler le niveau de journalisation dans le Simulation Runtime.

--init-args-log-to-driver <init_args_log_to_driver>

Propager les journaux du Simulation Runtime vers le haut.

Options:

true | false

Arguments

FEDERATION

Optional argument

Nom de la fédération ; doit être sous la forme @<compte>/<fédération>.

Optional argument

Nom de la connexion SuperLink.

install

Install a Flower App Bundle.

Il peut être lancé avec un seul fichier FAB en argument :

flwr install ./target_project.fab

Les applications sont installées dans :

  • $FLWR_HOME/apps/ si $FLWR_HOME est défini

  • $HOME/.flwr/apps/ sinon

flwr install [OPTIONS] [source]

Arguments

source

Optional argument

Le fichier source FAB à installer.

list

Listez les détails d’une exécution fournie ID ou toutes les exécutions (alias : ls).

Les détails suivants sont affichés :

  • ID d’exécution : Identifiant unique pour l’exécution.

  • Fédération : La fédération à laquelle appartient l’exécution.

  • Application : L’application associée à l’exécution (<APP_ID>==<APP_VERSION>).

  • Statut : Statut actuel de l’exécution (pendant, démarrage, en cours, terminé).

  • Temps écoulé : Temps écoulé depuis le début de l’exécution (HH:MM:SS).

  • Dernière modification du statut @ : Heure de la dernière modification du statut.

Tous les horodatages suivent ISO 8601, UTC et sont formatés comme YYYY-MM-DD HH:MM:SSZ.

flwr list [OPTIONS] [SUPERLINK]

Options

--run-id <run_id>

ID d’exécution spécifique à afficher

--limit <limit>

Nombre maximum de runs à afficher

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

Optional argument

Nom de la connexion SuperLink.

log

Obtenir les logs d’un run.

Récupérer et afficher les logs d’un run Flower. Les logs peuvent être diffusés en temps réel (avec –stream) ou imprimés une fois (avec –show).

flwr log [OPTIONS] RUN_ID [SUPERLINK]

Options

--stream, --show

Drapeau pour diffuser ou imprimer les logs du run Flower

Default:

True

Arguments

RUN_ID

Required argument

The Flower run ID to query

Optional argument

Nom de la connexion SuperLink.

login

Se connecter à l’application Flower SuperLink.

flwr login [OPTIONS] [SUPERLINK]

Arguments

Optional argument

Nom de la connexion SuperLink.

new

Create new Flower App.

flwr new [OPTIONS] [APP_SPEC]

Options

--framework <framework>

Déprécié. Le framework ML à utiliser

--username <username>

Déprécié. L’utilisateur Flower de l’auteur

Arguments

APP_SPEC

Optional argument

Spécificateur d’application Flower. Utilisez la forme @account_name/app_name” ou @account_name/app_name==x.y.z”. La version est facultative (par défaut, la dernière).

pull

Extraire les artefacts d’un run Flower.

Récupérer une URL de téléchargement pour les artefacts générés pendant un run Flower terminé. Les artefacts peuvent ensuite être téléchargés à partir de l’URL fournie.

flwr pull [OPTIONS] RUN_ID [SUPERLINK]

Arguments

RUN_ID

Required argument

ID du run pour extraire les artefacts.

Optional argument

Nom de la connexion SuperLink.

run

Run Flower App.

flwr run [OPTIONS] [APP] [SUPERLINK]

Options

--federation <federation>

La fédération à soumettre le run; doit être dans la forme @<account>/<federation>.

-c, --run-config <run_config_overrides>

Configurez les valeurs de run en utilisant l’un des formats suivants :

–run-config “<k1>=<v1> <k2>=<v2>” | –run-config “<k1>=<v1>” –run-config “<k2>=<v2>” | –run-config <chemin/vers/votre/toml>

Lorsque vous fournissez des paires clé-valeur, les valeurs peuvent être de tout type pris en charge par TOML (par exemple, booléen, entier, flottant, chaîne). Les clés spécifiées (<k1> et <k2> dans l’exemple) doivent exister dans la configuration de run sous la section [tool.flwr.app.config] de pyproject.toml pour être surchargées. Alternativement, fournissez un fichier TOML contenant des paires clé-valeur de surcharge.

--federation-config <federation_config_overrides>

Override federation configuration values using one of the following formats:

–federation-config “<k1>=<v1> <k2>=<v2>” | –federation-config “<k1>=<v1>” –federation-config “<k2>=<v2>”

Lorsque vous fournissez des paires clé-valeur, les valeurs peuvent être de tout type pris en charge par TOML (par exemple, booléen, entier, flottant, chaîne).

--stream

Utilisez –stream avec flwr run pour afficher les journaux ; les journaux ne sont pas affichés par défaut.

Default:

False

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

APP

Optional argument

Chemin de l’application Flower à exécuter, ou une spécification d’app distant comme @account_name/app_name”.

Optional argument

Nom de la connexion SuperLink.

stop

Arrêtez une exécution Flower.

Cette commande arrête une exécution en cours de l’application Flower en envoyant une demande d’arrêt au SuperLink via l’API de contrôle.

flwr stop [OPTIONS] RUN_ID [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

RUN_ID

Required argument

ID de run de Flower à arrêter

Optional argument

Nom de la connexion SuperLink.

supernode

Gérez les SuperNodes

flwr supernode [OPTIONS] COMMAND [ARGS]...
list

Listez les SuperNodes dans la fédération (alias : ls).

flwr supernode list [OPTIONS] [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

-v, --verbose

Activer l’affichage détaillé

Default:

False

Arguments

Optional argument

Nom de la connexion SuperLink.

register

Ajoutez un SuperNode à la fédération.

flwr supernode register [OPTIONS] PUBLIC_KEY [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

PUBLIC_KEY

Required argument

Chemin vers un fichier clé publique P-384 (ou toute autre courbe NIST EC)

Optional argument

Nom de la connexion SuperLink.

unregister

Désinscrivez un SuperNode de la fédération.

flwr supernode unregister [OPTIONS] NODE_ID [SUPERLINK]

Options

--format <output_format>

Formatez la sortie en utilisant la vue “par défaut” ou “json”

Default:

'default'

Options:

par défaut | json

Arguments

NODE_ID

Required argument

ID du SuperNode à supprimer.

Optional argument

Nom de la connexion SuperLink.

flower-supernode

Start a Flower SuperNode

usage: flower-supernode [-h] [-V] [--insecure]
                        [--grpc-rere | --grpc-adapter | --rest]
                        [--root-certificates ROOT_CERT]
                        [--superlink SUPERLINK] [--max-retries MAX_RETRIES]
                        [--max-wait-time MAX_WAIT_TIME]
                        [--auth-supernode-private-key AUTH_SUPERNODE_PRIVATE_KEY]
                        [--auth-supernode-public-key AUTH_SUPERNODE_PUBLIC_KEY]
                        [--node-config NODE_CONFIG]
                        [--isolation {subprocess,process}]
                        [--clientappio-api-address CLIENTAPPIO_API_ADDRESS]
                        [--appio-ssl-certfile APPIO_SSL_CERTFILE]
                        [--appio-ssl-keyfile APPIO_SSL_KEYFILE]
                        [--appio-ssl-ca-certfile APPIO_SSL_CA_CERTFILE]
                        [--trusted-entities YAML_FILE]
                        [--superexec-auth-secret-file SUPEREXEC_AUTH_SECRET_FILE]
                        [--allow-runtime-dependency-installation]
                        [--health-server-address HEALTH_SERVER_ADDRESS]

Named Arguments

-V, --version

show program’s version number and exit

--insecure

Run the client without HTTPS. By default, the client runs with HTTPS enabled. Use this flag only if you understand the risks.

Default: False

--grpc-rere

Use grpc-rere as a transport layer for the client.

Default: « grpc-rere »

--grpc-adapter

Use grpc-adapter as a transport layer for the client.

--rest

Use REST as a transport layer for the client.

--root-certificates

Path to a PEM-encoded root CA certificate (or CA bundle) used to verify the server’s TLS certificate. This is not a client certificate for mTLS.

--superlink

SuperLink Fleet API address (IPv4, IPv6, or a domain name). If using the REST (experimental) transport, ensure your address is in the form http://… or https://… when TLS is enabled.

Default: « 0.0.0.0:9092 »

--max-retries

The maximum number of times the client will try to reconnect to theSuperLink before giving up in case of a connection error. By default,it is set to None, meaning there is no limit to the number of tries.

--max-wait-time

The maximum duration before the client stops trying toconnect to the SuperLink in case of connection error. By default, itis set to None, meaning there is no limit to the total time.

--auth-supernode-private-key

Path to the SuperNode’s private key to enable authentication.

--auth-supernode-public-key

This argument is deprecated and will be removed in a future release.

--node-config

A space separated list of key/value pairs (separated by =) to configure the SuperNode. E.g. –node-config “key1= »value1 » partition-id=0 num-partitions=100”

--isolation

Possible choices: subprocess, process

Isolation mode when running a ClientApp (subprocess by default, possible values: subprocess, process). Use subprocess to configure SuperNode to run a ClientApp in a subprocess. Use process to indicate that a separate independent process gets created outside of SuperNode.

Default: « subprocess »

--clientappio-api-address

ClientAppIo API (gRPC) server address (IPv4, IPv6, or a domain name). By default, it is set to 0.0.0.0:9094.

Default: « 0.0.0.0:9094 »

--appio-ssl-certfile

ClientAppIo API server TLS certificate file (as a path str) to create a secure connection. The certificate must include SANs for the AppIO API address used by SuperExec.

--appio-ssl-keyfile

ClientAppIo API server TLS private key file (as a path str) to create a secure connection.

--appio-ssl-ca-certfile

Path to the PEM-encoded CA certificate file used by SuperExec to verify the ClientAppIo API server certificate. This is not a client certificate for mTLS.

--trusted-entities

Path to a YAML file defining trusted entities. The file must map public key IDs to public keys. Example: { fpk_UUID1: “ssh-ed25519 <key1> [comment1]”, fpk_UUID2: “ssh-ed25519 <key2> [comment2]” }

--superexec-auth-secret-file

Path to a file containing the SuperExec shared secret. The file is read as exact raw bytes.

--allow-runtime-dependency-installation

Allow runtime installation of app dependencies via uv sync. By default, runtime dependency installation is disabled.

Default: False

--health-server-address

Health service gRPC server address (IPv4, IPv6, or a domain name) with no TLS. If not set, the health server will not be started.

Commandes avancées

flower-superexec

Run Flower SuperExec.

usage: flower-superexec [-h] [-V] --appio-api-address APPIO_API_ADDRESS
                        --plugin-type
                        {clientapp,serverapp,simulation,serverapp-ephemeral}
                        [--insecure] [--root-certificates ROOT_CERT]
                        [--parent-pid PARENT_PID] [--executor {subprocess}]
                        [--superexec-auth-secret-file SUPEREXEC_AUTH_SECRET_FILE]
                        [--health-server-address HEALTH_SERVER_ADDRESS]
                        [--allow-runtime-dependency-installation]

Named Arguments

-V, --version

show program’s version number and exit

--appio-api-address

Address of the AppIO API

--plugin-type

Possible choices: clientapp, serverapp, simulation, serverapp-ephemeral

The type of plugin to use.

--insecure

Connect to the AppIO API without TLS. Data transmitted between the client and server is not encrypted. Use this flag only if you understand the risks.

Default: False

--root-certificates

Path to a PEM-encoded root CA certificate (or CA bundle) used to verify the server’s TLS certificate. This is not a client certificate for mTLS.

--parent-pid

The PID of the parent process. When set, the process will terminate when the parent process exits.

--executor

Possible choices: subprocess

The executor used to run task processes, for example as local subprocesses.

Default: subprocess

--superexec-auth-secret-file

Path to a file containing the SuperExec shared secret. The file is read as exact raw bytes.

--health-server-address

Health service gRPC server address (IPv4, IPv6, or a domain name) with no TLS. If not set, the health server will not be started.

--allow-runtime-dependency-installation

Allow runtime installation of app dependencies via uv sync. By default, runtime dependency installation is disabled.

Default: False