slicer_package_manager.api package¶
Submodules¶
slicer_package_manager.api.app module¶
The internal server API of Slicer Package Manager. Use these endpoints to create new applications, new releases, and upload or download application and extensions packages.
- class slicer_package_manager.api.app.App¶
Bases:
girder.api.rest.Resource
- createNewRelease(name, app_id, app_revision, description, public)¶
Create a new release with the
name
within the application. Theapp_revision
will be used to automatically choose this release when uploading an application or extension package with a matching application revision metadata.- Parameters
name – Name of the new release
app_id – Application ID
app_revision – Revision of the application corresponding to this release
description – Description of the new release
public – Whether the release should be publicly visible
- Returns
The new release folder
- createOrUpdateExtension(app_id, os, arch, baseName, repository_type, repository_url, revision, app_revision, packagetype, codebase, description, release, icon_url, development_status, category, enabled, homepage, screenshots, contributors, dependency, license)¶
Create or update an extension item.
If a release identified by
app_revision
exists, it is used to create or lookup the corresponding release folder. Otherwise, a draft sub-folder named afterapp_revision
is either used or created.If an extension with matching metadata
meta.baseName
,meta.os
,meta.arch
andmeta.app_revision
is found, the extension name and other metadata are updated.- Parameters
app_id – The ID of the application.
os – The operation system used for the extension.
arch – The architecture compatible with the extension.
baseName – The base name of the extension.
repository_type – The type of repository (github, gitlab, …).
repository_url – The Url of the repository.
revision – The revision of the extension.
app_revision – The revision of the application.
packagetype – Type of the extension.
codebase – The codebase baseName.
description – The description of the extension.
- Returns
The created/updated extension.
- createOrUpdatePackage(app_id, os, arch, baseName, repository_type, repository_url, revision, description, pre_release)¶
Create or update a package item.
If a release identified by
revision
exists, it is used to create or lookup the corresponding release folder. Otherwise, a draft sub-folder named afterrevision
is either used or created.If a package with matching metadata
meta.baseName
,meta.os
,meta.arch
andmeta.revision
is found, the package name and other metadata are updated.- Parameters
app_id – The ID of the application.
os – The operation system used for the package.
arch – The architecture compatible with the application package.
baseName – The base name of the package.
repository_type – The type of repository (github, gitlab, …).
repository_url – The Url of the repository.
revision – The revision of the application.
description – Description of the application package
pre_release – Boolean to specify if the package is ready to be distributed
- Returns
The created/updated package.
- deleteApp(folder, progress)¶
Delete the application by ID.
- Parameters
id – Id of the application
- Returns
Confirmation message with the deleted application name
- deleteExtension(app_id, item)¶
Delete the extension by ID.
- Parameters
app_id – Application ID
ext_id – Extension ID
- Returns
The deleted extension
- deletePackage(app_id, item)¶
Delete the package by ID.
- Parameters
app_id – Application ID
pkg_id – Package ID
- Returns
The deleted package
- deleteReleaseByIdOrName(folder, release_id_or_name, progress)¶
Delete a release by ID or name.
- Parameters
app_id – Application ID
release_id_or_name – Could be either the release ID or the release name
progress – Whether to record progress on this task
- Returns
Confirmation message with the deleted release name
- getAllDraftReleases(app_id, revision, limit, offset, sort)¶
Get a list of all the draft release of an application. It’s also possible to filter this list by the metadata
revision
.- Parameters
app_id – Application ID
revision – Revision of one of the draft release
- Returns
List of all release within the application
- getDownloadStats(app_id)¶
Get all the download count of all the application and extension packages from an application.
- Parameters
app_id – Application ID
- Returns
The JSON document of all the download statistics
- getExtensions(app_id, extension_name, release_id, extension_id, os, arch, app_revision, baseName, limit, sort, offset=0)¶
Get a list of extension which is filtered by some optional parameters. If the
release_id
provided correspond to the draft release, then you must provide the app_revision to use this parameters. If not, it will just be ignored.- Parameters
app_id – Application ID
extension_name – Extension name
release_id – Release ID
extension_id – Extension ID
os – The operation system used for the extension.
arch – The architecture compatible with the extension.
app_revision – The revision of the application
baseName – The baseName of the extension
- Returns
The list of extensions
- getPackages(app_id, package_name, release_id, package_id, os, arch, revision, baseName, limit, offset, sort)¶
Get a list of package which is filtered by some optional parameters. If the
release_id
provided correspond to the draft release, then you must provide the revision to use this parameters. If not, it will just be ignored.- Parameters
app_id – Application ID
package_name – Package name
release_id – Release ID
package_id – Package ID
os – The operation system used for the application package.
arch – The architecture compatible with the application package.
revision – The revision of the application
baseName – The baseName of the package
- Returns
The list of application packages
- getReleases(app_id, release_id_or_name, limit, offset, sort)¶
Get a list of all the stable release of an application. You can also search for a specific release if you provide the
release_id_or_name
parameter. If therelease_id_or_name
parameter doesn’t correspond to any existing release, this will just returnNone
.- Parameters
app_id – Application ID
release_id_or_name – Could be either the release ID or the release name
- Returns
List of all release within the application or a specific release folder
- initApp(name, app_description, collection_id, collection_name, collection_description, public)¶
Create the directory for start a new application. By default, without specifying a
collection_id
, it will create a new collection name eithercollection_name
if provided, or ‘Applications’. If the collection ‘Applications already exist it will get it. Return the new application (as a folder) that always contain a default sub-folder named ‘draft’.- Parameters
name – Name of the new application
app_description – Description of the new application
collection_id – Id of the collection within create the application
collection_name – Name of the collection which will be created
collection_description – Description of the new collection
public – Whether the new collection should be publicly visible
- Returns
The new application folder
- listApp(app_id, collection_id, name, text, limit, offset, sort)¶
List existing applications base on some optional parameters. For searching application which aren’t in the default collection (Applications), the parameter
collection_id
need to be provided.- Parameters
app_id – Application ID
collection_id – Collection ID
name – Name of the application
text – Provide text search on the name of the application
- Returns
List of applications