Std AddonMgr/it: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(116 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<div class="mw-translate-fuzzy">
{{GuiCommand/it|Name=Std AddonMgr|Name/it=Addon Manager|Workbenches=Tutti|MenuLocation=Strumenti → Addon Manager}}
</div>


{{Docnav/it
<div class="mw-translate-fuzzy">
|[[Std_DlgCustomize/it|Personalizzare gli strumenti]]
Addon Manager permette di installare, aggiornare ed eliminare gli [[external workbenches/it|ambienti aggiuntivi]] e le [[macros/it|macro]]. Se nel computer è installato il pacchetto [https://github.com/gitpython-developers/GitPython git-python], Addon Manager ne fa uso per aggiornare gli ambienti lavoro installati, rendendo i download più veloci.
|
</div>
|[[Std_Tools_Menu/it|Menu strumenti]]
|IconL=Std_DlgCustomize.svg
|IconR=
|IconC=Freecad.svg
}}


{{GuiCommand/it
The lists of installable workbenches and macros are taken from two repositories, [https://github.com/FreeCAD/FreeCAD-addons/ FreeCAD-addons] and [https://github.com/FreeCAD/FreeCAD-macros/ FreeCAD-macros], respectively, and from the [[Macros recipes]].
|Name=Std_AddonMgr
|Name/it=Addon manager
|MenuLocation=Strumenti → Addon manager
|Workbenches=Tutti
|Version=0.17
|SeeAlso=[[Macros/it|Macro]], [[External workbenches/it|Ambienti complementari]]
}}


<span id="Description"></span>
[[Image:Addon_Manager_example.png]]
==Descrizione==
{{Caption|Interface of the [[Addon Manager]]}}


Il comando '''Addon manager''' apre il gestore Addon. Con Addon Manager è possibile installare e gestire [[external_workbenches/it|Ambienti complementari]], [[macros/it|macro]] e [[Preference_Packs/it|Pacchetti di Preferenze]] forniti dalla community di FreeCAD. Per impostazione predefinita, i componenti aggiuntivi disponibili sono presi da due repository, [https://github.com/FreeCAD/FreeCAD-addons/FreeCAD-addons] e dalla pagina [[Macros_recipes/it|Raccolta di macro]]. Se GitPython e git sono installati sul proprio sistema, macro aggiuntive verranno caricate da [https://github.com/FreeCAD/FreeCAD-macros/ FreeCAD-macros]. I repository personalizzati possono essere aggiunti nelle [[Preferences_Editor#Addon_Manager/it|Preferenze di Addon manager]].
== How to use ==


A causa delle modifiche alla piattaforma GitHub nell'anno 2020, il gestore Addon non funziona più se si utilizza FreeCAD versione 0.17 o precedente. È necessario eseguire l'aggiornamento alla versione [https://github.com/FreeCAD/FreeCAD/releases/tag/0.18.5 0.18.5] o successiva. In alternativa è possibile installare i componenti aggiuntivi manualmente, vedi [[#Note|Note]] di seguito.
* Open the tool in the menu {{MenuCommand|Tools → Addon manager}}.
* To install a workbench: scroll through the list and select the add-on; a short description, as well as its home page, will be displayed below the list. Press the {{Button|Install/update}} button to install the new tool. For macros, click on the {{MenuCommand|Macros}} tab and repeat the steps.
* To remove a workbench or a macro: scroll through the list, select the add-on, and then press the {{Button|Remove}} button.
* To update a workbench or a macro: scroll through the list, select the add-on, and then press the {{Button|Install/update}} button.
* To check for updates: press the {{Button|[[File:Std Refresh.png|16px]] Refresh}} button; available updates will be reported below the list. Press the {{Button|[[File:Std Refresh.png|16px]] Refresh}} button again to install all updates at once. {{Emphasis|Note:}} the icon may look different depending on your operating system.
* To run a macro: first install the desired macro, then select it again on the list, and then press the {{Button|Execute}} button.
* Press {{Button|Close}} to exit the manager.


<span id="Usage"></span>
=== Manual installation ===
==Utilizzo==
If you don't use the Addon Manager, you can install the new tools manually by placing their code in your user's {{incode|FreeCAD/}} directory. See the following links for details:
* [[How to install macros|How to install macros]]
* [[How to install additional workbenches|How to install additional workbenches]]


# Selezionare l'opzione {{MenuCommand|Strumenti → [[Image:Std_AddonMgr.svg|16px]] Addon manager}} dal menu principale.
== Limitations ==
# La prima volta che si usa il gestore Addon si apre una finestra di dialogo che avverte che i componenti aggiuntivi nel gestore Addon non fanno ufficialmente parte di FreeCAD. Presenta inoltre diverse opzioni relative all'utilizzo dei dati da parte del gestore Addon. Regolare queste opzioni a proprio piacimento e premere il pulsante {{Button|OK}} per confermare e continuare.
# Viene visualizzata la finestra di dialogo Addon manager. Per ulteriori informazioni, vedere le [[Std_AddonMgr/it#Opzioni|Opzioni]].
# Se è stato installato o aggiornato un ambiente di lavoro, si aprirà una nuova finestra di dialogo per informare che si deve riavviare FreeCAD affinché le modifiche abbiano effetto.


<span id="Options"></span>
* These add-ons are not part of the official FreeCAD program and are not supported by the core FreeCAD development team. You should read the information provided on each add-on's home page to make sure you know what you are installing.
==Opzioni==


[[File:AddonManager_Main.png|600px]]
* Bug reports and feature requests should be made directly to the creator of the add-on by visiting the indicated website. Many add-on authors are regular users of the [https://forum.freecadweb.org FreeCAD forum], and can be contacted there.

# Il gestore Addon fornisce due layout di visualizzazione: "Condensato" ed "Espanso". Nella vista "Condensata", ogni componente aggiuntivo occupa una singola riga e la sua descrizione viene troncata per adattarsi allo spazio disponibile. "Espanso" mostra dettagli aggiuntivi, tra cui più testo descrittivo, informazioni sul manutentore, ulteriori dettagli sull'installazione, ecc.
# Sono supportati tre diversi tipi di componenti aggiuntivi: [[external_workbenches/it|Ambienti di lavoro]], [[macros/it|Macro]] e [[Preference_Packs/it|Pacchetti Preferenze]]. E' possibile scegliere di mostrare solo un tipo o tutti in un unico elenco.
# L'elenco può essere limitato per mostrare solo i pacchetti installati, solo i pacchetti con aggiornamenti disponibili o solo i pacchetti che non sono ancora installati.
# L'elenco può essere filtrato, cercando una parola chiave nel titolo, nella descrizione e nei tag (descrizione e tag devono essere specificati dallo sviluppatore dell'addon nei metadati dell'addon). Il filtro può anche essere un'espressione regolare, per un controllo granulare dell'esatto termine di ricerca.
# La vista espansa mostra le informazioni sulla versione disponibili, la descrizione, le informazioni sul manutentore e le informazioni sulla versione dell'installazione, per i pacchetti che forniscono un file [[Metadati_pacchetto/it|Metadati pacchetto]] (o per macro con metadati incorporati).
# I dati del componente aggiuntivo vengono memorizzati nella cache locale, con una frequenza di aggiornamento della cache variabile impostata nelle preferenze dell'utente.
# In qualsiasi momento è possibile scegliere di aggiornare manualmente la propria cache locale per vedere gli ultimi aggiornamenti disponibili per ogni componente aggiuntivo.
# I controlli degli aggiornamenti possono essere impostati per essere automatici o eseguiti manualmente tramite un clic del pulsante (configurato nelle preferenze dell'utente). Se GitPython e git sono installati sul proprio sistema, le informazioni di aggiornamento vengono recuperate utilizzando git. In caso contrario, le informazioni di aggiornamento vengono ottenute da qualsiasi file di metadati presente.

Facendo clic su un componente aggiuntivo in questa visualizzazione viene visualizzata la pagina dei dettagli del componente aggiuntivo:

[[File:AddonManager_Details.png|600px]]

La pagina dei dettagli mostra i pulsanti che consentono di installare, disinstallare, aggiornare e disabilitare temporaneamente un componente aggiuntivo. Per i componenti aggiuntivi installati elenca la versione attualmente installata e la data di installazione e se si tratta della versione più recente disponibile. Di seguito è riportata una finestra del browser Web incorporata che mostra la pagina README dell'addon (per Ambiente di lavoro e Pacchetti di preferenze) o la pagina Wiki (per le macro).

<span id="Preferences"></span>
==Preferenze==

Le preferenze per Addon Manager si trovano nell'[[Preferences_Editor/it#Addon_Manager|Editor delle Preferenze]]. {{Version/it|0.20}}

<span id="Sorting_by_score"></span>
==Ordinamento per punteggio==

{{Version/it|1.0}}

L'Addon Manager supporta l'ordinamento in base a una serie di criteri diversi. La maggior parte di questi vengono scaricati direttamente dai server di FreeCAD (che li memorizza nella cache da GitHub e FreeCAD Wiki) ma uno, "Punteggio", non è fornito da FreeCAD e appare come opzione solo se l'impostazione URL Sorgente del Punteggio è fornita nelle Preferenze.

L'URL Sorgente del Punteggio è un percorso verso un documento remoto in formato JSON che elenca componenti aggiuntivi e un "punteggio" di qualche tipo. Il punteggio può essere calcolato in qualsiasi modo piaccia al fornitore di dati, ma dovrebbe essere un valore intero, dove i punteggi più alti sono "migliori" in un certo senso. A qualsiasi componente aggiuntivo non elencato viene assegnato internamente un punteggio pari a zero. Il formato del file è un singolo dizionario JSON in cui la chiave è l'URL del componente aggiuntivo (per ambienti di lavoro e pacchetti di preferenze) o il nome della macro (per le macro). Vedere [https://gist.githubusercontent.com/chennes/e8f60e80f16e6ffbd057dd47ca36ad2a/raw/7b118cca8e84444c3379919bbd744b99e6ef6711/addon_score_for_testing.jsu questa fonte dati] per un esempio (notare che il punteggio è semplicemente la lunghezza della descrizione del componente aggiuntivo, ed è destinato esclusivamente ai test e scopi dimostrativi).

<span id="Notes"></span>
==Note==

* L'uso dei componenti aggiuntivi non è limitato alla versione di FreeCAD da cui sono stati installati. Si potrà anche usarli in qualsiasi altra versione di FreeCAD, supportata dall'addon, presente sul proprio sistema.
* I componenti aggiuntivi disponibili in Addon manager non fanno parte del programma ufficiale FreeCAD e non sono supportati dal team di sviluppo principale di FreeCAD. Bisogna leggere attentamente le informazioni fornite per assicurarsi di sapere cosa si sta installando.
* Segnalazioni di bug e richieste di funzionalità devono essere inviate direttamente al creatore del componente aggiuntivo visitando il sito Web indicato. Molti sviluppatori di componenti aggiuntivi sono utenti regolari del [https://forum.freecadweb.org FreeCAD forum], e possono anche essere contattato lì.
* Se sul computer è installato il pacchetto [https://github.com/gitpython-developers/GitPython GitPython], il gestore Addon lo utilizza, rendendo i download più veloci.
* È inoltre possibile installare i componenti aggiuntivi manualmente. Vedere [[How_to_install_additional_workbenches/it|Come installare gli ambienti aggiuntivi]] and [[How_to_install_macros/it|Come installare le macro]].

<span id="Information_for_addon_developers"></span>
==Informazioni per gli sviluppatori di addon==

Vedere [[Addon/it#Informazioni_per_sviluppatori|Addon]].

<span id="Scripting"></span>
==Script==

{{Version/it|0.21}}

Alcune funzionalità del gestore Addon sono progettate per l'accesso tramite l'API Python di FreeCAD. In particolare un componente aggiuntivo può essere installato, aggiornato e rimosso tramite l'interfaccia Python. La maggior parte degli usi di questa API richiede la creazione di un oggetto con almeno tre attributi: {{Incode|name}}, {{Incode|branch}} e {{Incode|url}}. Per esempio:


* The web addresses of the repositories for add-ons and macros are hard coded into the AddonManager. As this application is written in Python, experienced users can change these locations by editing the appropriate fields in
{{Code|code=
{{Code|code=
class MyAddonClass:
$ROOT/Mod/AddonManager/AddonManager.py
def __init__(self):
self.name = "TestAddon"
self.url = "https://github.com/Me/MyTestAddon"
self.branch = "main"
my_addon = MyAddonClass()
}}
}}


Il proprio oggetto {{Incode|my_addon}} è ora pronto per essere utilizzato con l'API Addon Manager.
where {{incode|$ROOT}} is the installation directory of FreeCAD in your particular system, for example,
* Linux: {{incode|/usr/lib/freecad/Mod/AddonManager/AddonManager.py}}
* Windows: {{Incode|C:\Program Files\FreeCAD version\Mod\AddonManager.py}}


<span id="Commandline_(non-GUI)_use"></span>
== New workbenches and macros ==
===Utilizzo da riga di comando (non-GUI)===


Se il proprio codice deve installare o aggiornare un componente aggiuntivo in modo sincrono (ad esempio senza una GUI), il codice può essere molto semplice:
If you developed a workbench or macro, and want to see it included in the Addon Manager, read how to do that on the repository pages ([https://github.com/FreeCAD/FreeCAD-addons/ FreeCAD-addons] and [https://github.com/FreeCAD/FreeCAD-macros/ FreeCAD-macros]). If you add your macro to the [[Macros recipes]], there is nothing else to do, it will automatically be picked by the Addon Manager.


{{Code|code=
For python workbenches, you don't need any specific approval to have your workbench added to the Addon Manager and, being outside the FreeCAD source code, you can choose the license you want. If you request for your workbench to be added to the list (we will not add any new workbench without a request from its authors), either by asking so on the forum or by opening an issue on the [https://github.com/FreeCAD/FreeCAD-addons/ FreeCAD-addons] repository, your code will stay on your own git repository, we will just add it as a submodule to the [https://github.com/FreeCAD/FreeCAD-addons/ FreeCAD-addons] repository. Of course, before adding your workbench, we will take a look at it and make sure there is nothing potentially problematic with it.
from addonmanager_installer import AddonInstaller
installer = AddonInstaller(my_addon)
installer.run()
}}


Notare che questo codice si blocca fino al completamento, quindi non lo si dovrebbe eseguire sul thread della GUI principale. Per il gestore Addon, "install" e "update" sono la stessa chiamata: se questo addon è già installato e git è disponibile, verrà aggiornato tramite "git pull". Se non è installato o è stato installato tramite un metodo di installazione diverso da git, viene scaricato da zero (utilizzando git se disponibile).
If you develop a workbench in C++, it cannot be run directly by users and must be compiled first. You then have 2 options, either you provide precompiled versions of your workbench yourself, for the different operating systems, or you should request to have your code merged into the FreeCAD source code. For that, you should use the LGPL license (or fully compatible like MIT or BSD), and you must present your new tools to the community in the [https://forum.freecadweb.org FreeCAD forum] for review. Once your code has been tested and approved, you should fork the FreeCAD repository, if not done yet, create a new branch, push your code to it, and open a pull request so that your branch is merged into the main repository.


Per disinstallare, utilizzare:
{{Userdocnavi}}


{{Code|code=
[[Category:Addons]]
from addonmanager_uninstaller import AddonUninstaller
uninstaller = AddonUninstaller(my_addon)
uninstaller.run()
}}


<span id="GUI_use"></span>
===Utilizzo con GUI===

Se si prevede di eseguire il codice in una GUI o di supportare l'esecuzione nella versione completa di FreeCAD, è meglio eseguire l'installazione in un thread non GUI separato, in modo che la GUI rimanga reattiva. Per fare ciò, controllare prima se la GUI è in esecuzione e, in tal caso, generare un {{Incode|QThread}} (non provare a generare un {{Incode|QThread}} se la GUI non è attiva: richiedono un ciclo di eventi attivo per funzionare).

{{Code|code=
from PySide import QtCore
from addonmanager_installer import AddonInstaller

worker_thread = QtCore.QThread()
installer = AddonInstaller(my_addon)
installer.moveToThread(worker_thread)
installer.success.connect(installation_succeeded)
installer.failure.connect(installation_failed)
installer.finished.connect(worker_thread.quit)
worker_thread.started.connect(installer.run)
worker_thread.start() # Returns immediately
}}

Quindi definire le funzioni {{Incode|installation_succeeded}} e {{Incode|installation_failed}} da eseguire in ciascun caso. Per la disinstallazione è possibile usare la stessa tecnica, anche se di solito è molto più veloce e non bloccherà la GUI per molto tempo, quindi in generale è sicuro usare direttamente il programma di disinstallazione, come mostrato sopra.


{{Docnav/it
|[[Std_DlgCustomize/it|Personalizzare gli strumenti]]
|
|[[Std_Tools_Menu/it|Menu strumenti]]
|IconL=Std_DlgCustomize.svg
|IconR=
|IconC=Freecad.svg
}}


{{Std Base navi{{#translation:}}}}
{{clear}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 20:29, 23 April 2024

Addon manager

Posizione nel menu
Strumenti → Addon manager
Ambiente
Tutti
Avvio veloce
Nessuno
Introdotto nella versione
0.17
Vedere anche
Macro, Ambienti complementari

Descrizione

Il comando Addon manager apre il gestore Addon. Con Addon Manager è possibile installare e gestire Ambienti complementari, macro e Pacchetti di Preferenze forniti dalla community di FreeCAD. Per impostazione predefinita, i componenti aggiuntivi disponibili sono presi da due repository, [1] e dalla pagina Raccolta di macro. Se GitPython e git sono installati sul proprio sistema, macro aggiuntive verranno caricate da FreeCAD-macros. I repository personalizzati possono essere aggiunti nelle Preferenze di Addon manager.

A causa delle modifiche alla piattaforma GitHub nell'anno 2020, il gestore Addon non funziona più se si utilizza FreeCAD versione 0.17 o precedente. È necessario eseguire l'aggiornamento alla versione 0.18.5 o successiva. In alternativa è possibile installare i componenti aggiuntivi manualmente, vedi Note di seguito.

Utilizzo

  1. Selezionare l'opzione Strumenti → Addon manager dal menu principale.
  2. La prima volta che si usa il gestore Addon si apre una finestra di dialogo che avverte che i componenti aggiuntivi nel gestore Addon non fanno ufficialmente parte di FreeCAD. Presenta inoltre diverse opzioni relative all'utilizzo dei dati da parte del gestore Addon. Regolare queste opzioni a proprio piacimento e premere il pulsante OK per confermare e continuare.
  3. Viene visualizzata la finestra di dialogo Addon manager. Per ulteriori informazioni, vedere le Opzioni.
  4. Se è stato installato o aggiornato un ambiente di lavoro, si aprirà una nuova finestra di dialogo per informare che si deve riavviare FreeCAD affinché le modifiche abbiano effetto.

Opzioni

  1. Il gestore Addon fornisce due layout di visualizzazione: "Condensato" ed "Espanso". Nella vista "Condensata", ogni componente aggiuntivo occupa una singola riga e la sua descrizione viene troncata per adattarsi allo spazio disponibile. "Espanso" mostra dettagli aggiuntivi, tra cui più testo descrittivo, informazioni sul manutentore, ulteriori dettagli sull'installazione, ecc.
  2. Sono supportati tre diversi tipi di componenti aggiuntivi: Ambienti di lavoro, Macro e Pacchetti Preferenze. E' possibile scegliere di mostrare solo un tipo o tutti in un unico elenco.
  3. L'elenco può essere limitato per mostrare solo i pacchetti installati, solo i pacchetti con aggiornamenti disponibili o solo i pacchetti che non sono ancora installati.
  4. L'elenco può essere filtrato, cercando una parola chiave nel titolo, nella descrizione e nei tag (descrizione e tag devono essere specificati dallo sviluppatore dell'addon nei metadati dell'addon). Il filtro può anche essere un'espressione regolare, per un controllo granulare dell'esatto termine di ricerca.
  5. La vista espansa mostra le informazioni sulla versione disponibili, la descrizione, le informazioni sul manutentore e le informazioni sulla versione dell'installazione, per i pacchetti che forniscono un file Metadati pacchetto (o per macro con metadati incorporati).
  6. I dati del componente aggiuntivo vengono memorizzati nella cache locale, con una frequenza di aggiornamento della cache variabile impostata nelle preferenze dell'utente.
  7. In qualsiasi momento è possibile scegliere di aggiornare manualmente la propria cache locale per vedere gli ultimi aggiornamenti disponibili per ogni componente aggiuntivo.
  8. I controlli degli aggiornamenti possono essere impostati per essere automatici o eseguiti manualmente tramite un clic del pulsante (configurato nelle preferenze dell'utente). Se GitPython e git sono installati sul proprio sistema, le informazioni di aggiornamento vengono recuperate utilizzando git. In caso contrario, le informazioni di aggiornamento vengono ottenute da qualsiasi file di metadati presente.

Facendo clic su un componente aggiuntivo in questa visualizzazione viene visualizzata la pagina dei dettagli del componente aggiuntivo:

La pagina dei dettagli mostra i pulsanti che consentono di installare, disinstallare, aggiornare e disabilitare temporaneamente un componente aggiuntivo. Per i componenti aggiuntivi installati elenca la versione attualmente installata e la data di installazione e se si tratta della versione più recente disponibile. Di seguito è riportata una finestra del browser Web incorporata che mostra la pagina README dell'addon (per Ambiente di lavoro e Pacchetti di preferenze) o la pagina Wiki (per le macro).

Preferenze

Le preferenze per Addon Manager si trovano nell'Editor delle Preferenze. disponibile dalla versione 0.20

Ordinamento per punteggio

disponibile dalla versione 1.0

L'Addon Manager supporta l'ordinamento in base a una serie di criteri diversi. La maggior parte di questi vengono scaricati direttamente dai server di FreeCAD (che li memorizza nella cache da GitHub e FreeCAD Wiki) ma uno, "Punteggio", non è fornito da FreeCAD e appare come opzione solo se l'impostazione URL Sorgente del Punteggio è fornita nelle Preferenze.

L'URL Sorgente del Punteggio è un percorso verso un documento remoto in formato JSON che elenca componenti aggiuntivi e un "punteggio" di qualche tipo. Il punteggio può essere calcolato in qualsiasi modo piaccia al fornitore di dati, ma dovrebbe essere un valore intero, dove i punteggi più alti sono "migliori" in un certo senso. A qualsiasi componente aggiuntivo non elencato viene assegnato internamente un punteggio pari a zero. Il formato del file è un singolo dizionario JSON in cui la chiave è l'URL del componente aggiuntivo (per ambienti di lavoro e pacchetti di preferenze) o il nome della macro (per le macro). Vedere questa fonte dati per un esempio (notare che il punteggio è semplicemente la lunghezza della descrizione del componente aggiuntivo, ed è destinato esclusivamente ai test e scopi dimostrativi).

Note

  • L'uso dei componenti aggiuntivi non è limitato alla versione di FreeCAD da cui sono stati installati. Si potrà anche usarli in qualsiasi altra versione di FreeCAD, supportata dall'addon, presente sul proprio sistema.
  • I componenti aggiuntivi disponibili in Addon manager non fanno parte del programma ufficiale FreeCAD e non sono supportati dal team di sviluppo principale di FreeCAD. Bisogna leggere attentamente le informazioni fornite per assicurarsi di sapere cosa si sta installando.
  • Segnalazioni di bug e richieste di funzionalità devono essere inviate direttamente al creatore del componente aggiuntivo visitando il sito Web indicato. Molti sviluppatori di componenti aggiuntivi sono utenti regolari del FreeCAD forum, e possono anche essere contattato lì.
  • Se sul computer è installato il pacchetto GitPython, il gestore Addon lo utilizza, rendendo i download più veloci.
  • È inoltre possibile installare i componenti aggiuntivi manualmente. Vedere Come installare gli ambienti aggiuntivi and Come installare le macro.

Informazioni per gli sviluppatori di addon

Vedere Addon.

Script

disponibile dalla versione 0.21

Alcune funzionalità del gestore Addon sono progettate per l'accesso tramite l'API Python di FreeCAD. In particolare un componente aggiuntivo può essere installato, aggiornato e rimosso tramite l'interfaccia Python. La maggior parte degli usi di questa API richiede la creazione di un oggetto con almeno tre attributi: name, branch e url. Per esempio:

class MyAddonClass:
    def __init__(self):
        self.name = "TestAddon"
        self.url = "https://github.com/Me/MyTestAddon"
        self.branch = "main"
my_addon = MyAddonClass()

Il proprio oggetto my_addon è ora pronto per essere utilizzato con l'API Addon Manager.

Utilizzo da riga di comando (non-GUI)

Se il proprio codice deve installare o aggiornare un componente aggiuntivo in modo sincrono (ad esempio senza una GUI), il codice può essere molto semplice:

from addonmanager_installer import AddonInstaller
installer = AddonInstaller(my_addon)
installer.run()

Notare che questo codice si blocca fino al completamento, quindi non lo si dovrebbe eseguire sul thread della GUI principale. Per il gestore Addon, "install" e "update" sono la stessa chiamata: se questo addon è già installato e git è disponibile, verrà aggiornato tramite "git pull". Se non è installato o è stato installato tramite un metodo di installazione diverso da git, viene scaricato da zero (utilizzando git se disponibile).

Per disinstallare, utilizzare:

from addonmanager_uninstaller import AddonUninstaller
uninstaller = AddonUninstaller(my_addon)
uninstaller.run()

Utilizzo con GUI

Se si prevede di eseguire il codice in una GUI o di supportare l'esecuzione nella versione completa di FreeCAD, è meglio eseguire l'installazione in un thread non GUI separato, in modo che la GUI rimanga reattiva. Per fare ciò, controllare prima se la GUI è in esecuzione e, in tal caso, generare un QThread (non provare a generare un QThread se la GUI non è attiva: richiedono un ciclo di eventi attivo per funzionare).

from PySide import QtCore
from addonmanager_installer import AddonInstaller

worker_thread = QtCore.QThread()
installer = AddonInstaller(my_addon)
installer.moveToThread(worker_thread)
installer.success.connect(installation_succeeded)
installer.failure.connect(installation_failed)
installer.finished.connect(worker_thread.quit)
worker_thread.started.connect(installer.run)
worker_thread.start() # Returns immediately

Quindi definire le funzioni installation_succeeded e installation_failed da eseguire in ciascun caso. Per la disinstallazione è possibile usare la stessa tecnica, anche se di solito è molto più veloce e non bloccherà la GUI per molto tempo, quindi in generale è sicuro usare direttamente il programma di disinstallazione, come mostrato sopra.