- Notifications
You must be signed in to change notification settings - Fork15
A FreeCAD Module for installing third-party addons (workbenches, macros, themes, etc.)
License
FreeCAD/AddonManager
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
NOTE: This is the "dev" (development) branch of the Addon Manager. Most users should use "main" instead.
Install and update third-party addons to FreeCAD, including Workbenches, Macros, Preference Packs, and more. FreeCADships with a point-in-time snapshot of this Addon: by the time you install FreeCAD it is possible that version of theAddon Manager is no longer the most recent version. Installthis addon to update the internal Addon Manager to thelatest version (and to allow future self-updating).
The main source of addons is the git repository athttps://github.com/FreeCAD/FreeCAD-Addons. Custom addon sources canbe configured in the Addon Manager preferences when running FreeCAD. These addons are primarily written bythird parties and provided by repositories not under the FreeCAD authors' or maintainers' control: you use these addonsat your own risk.
To submit an addon you have created see the documentationhere.For information about developing an addon in the first place, seethe FreeCAD wiki.The Addon Manager supports five different types of addons: "Workbench", "Macro", "Preference Pack", "Bundle", and "Other". Thisinformation is provided to the Addon Manager via a file calledpackage.xml whoseformat is documented on the wiki.
The Addon Manager relies on a remote cache of all addons maintained athttps://addons.freecad.org,generated by a script that runsevery six hours. This cache contains the complete code for all addons listed in the addon catalog. Anotherprocess runs to cache all macros from boththe GitHub repositoryandthe Wiki. All official catalog-based addons and macros are downloaded fromthat server.
The Addon Manager is now designed to be self-updating, with a goal of allowing versions of FreeCAD back to 0.21 touse their default copy of Addon Manager to install a new version of Addon Manager. This means that the Addon Managershould support PySide2 and Python 3.8 for the foreseeable future.
The Addon Manager is also designed to be run in a "standalone" mode to allow for easier UI development. In this modeit does not interact with FreeCAD at all, and does not use or affect "real" FreeCAD preferences, module installation,etc.
If you plan on submitting a PR to improve the Addon Manager, please write unit tests as appropriate for your developmentwork. Network and filesystem access should be mocked, and the tests should be able to run without access to FreeCAD (alwaysuse theaddonmanager_freecad_interface.py file to mediate FreeCAD interactions).
This module is under active development, with the following rough plan (the order of priorities is only approximate,and actual development may happen out of order).
- Handle download interruption and allow resumption
- Automatic update check for Addon Manager to update itself, even if it's not installed as an Addon
- Implement automatic Python dependency resolution on FreeCAD/Python version switching
- Construct
requirements.txtfor to ensure correct Python module installation - FreeCAD in Virtual Env to eliminate
--useroption topip - Add/remove macro toolbar button
- Add option to perform background update checks and recaches
- Implement "offline mode" for uninstallation
- Add option to run Preference Pack after install
- Redesign the GUI
Bug reports and pull requests are welcome. Please make sure you are familiar withthe contributing process.
About
A FreeCAD Module for installing third-party addons (workbenches, macros, themes, etc.)
Resources
License
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.