Hi Marcus, We have considerable progress on an enhanced plugin system for Avo2. This would potentially include the input generators and format scripts as well.
Here's the question for debate. I have Ethan starting to work on the plugin manager. More details are below for those interested. Option 1: He can either make a call to GitHub API to get a zip of the release: https://developer.github.com/v3/repos/releases/#get-the-latest-release Now he needs to decompress everything recursively into a user directory. This needs code (e.g., LibArchive) as another dependency. (Maybe Kitware already has code that handles tars or zips cross-platform?) Option 2: He writes code to recursively download all the files in a repository directory using the GitHub API. Option 3: We add a dependency on LibGit2 Thoughts? Should we just add LibArchive as a third party dependency? -Geoff More Details: People will be able to open up a "Plugin Manager" feature in Avogadro and find new types of scripts and/or updates to their installed scripts. Each plugin would then live in its own repository, and we can use GitHub API (or other web API) to poll for releases. Plugin Repository (example https://github.com/paulboone/avogadro-plugin-examples/tree/scikit-nano/scikit-nano) - plugin.json - metadata about the plugin, including user description and list of command files - requirements.txt - required packages (e.g., numpy for python) .. possibly multiple commands This makes it fairly easy to have a plugin that uses a larger Python package (e.g., cclib, ASE, RDKit, etc.) and offer multiple commands. It also means plugin authors have freedom to package extra files and dirs in whatever layout they want. But we need to download a whole subdirectory.
------------------------------------------------------------------------------
_______________________________________________ Avogadro-devel mailing list Avogadro-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/avogadro-devel