{
// package name
"name": "Community Headers",
// version used in package management (required)
"version": "0.0.1",
"description": "",
"homepage": "https://example.com",
"installers": ["installer.py"],
"dependencies": {
"other-plugin-id": ">=1.0"
}
}
NOTE
"installer" must be python script, and is executed after downloading package. When an exception is thrown, the installation aborts and the package is not installed.
"dependencies" is dependency list between packages. Will use semantic_version package which implements semver 2.0.
The plugin directory will be added to sys.path after loading.
I was thinking about installing required pip packages, but installer can do that. Since there are many implementation for pip packaging, I'm not sure if I should expose a pip-installing function from package manager.
Maybe a website for validating the scheme and hosting some packages would be good.
Package schema is a subject that improvements can be made on and on, so I made this thread.
This is inspired by Pipfile.lock.
Overall structure
package-id/info.json
NOTE
I was thinking about installing required pip packages, but installer can do that. Since there are many implementation for pip packaging, I'm not sure if I should expose a pip-installing function from package manager.
Maybe a website for validating the scheme and hosting some packages would be good.