Python Client API — Slicer Package Manager 0.1.0 documentation

# Python Client API

## slicer_package_manager_client package

class slicer_package_manager_client.Constant

  Bases: `object`

  A bunch of utilities constant, as to handle `Error` or set default parameters.

  CURRENT_FOLDER = '/home/jcfr/Projects/slicer_package_manager/docs'
  DEFAULT_LIMIT = 50
  DRAFT_RELEASE_NAME = 'draft'
  EXTENSION_AREADY_UP_TO_DATE = 32
  EXTENSION_NOW_UP_TO_DATE = 33
  PACKAGE_NOW_UP_TO_DATE = 31
  WIDTH = 25

class slicer_package_manager_client.SlicerPackageClient(host=None, port=None, apiRoot=None, scheme=None, apiUrl=None, progressReporterCls=None)

  Bases: `girder_client.GirderClient`

  The SlicerPackageClient allows to use the slicer_package_manager plugin of Girder. This allow to manage 5 top level entities:

  > - Application

  > - Release

  > - Draft

  > - Package

  > - Extension

  It’s now possible to choose the collection within create the application. It’s also possible to get an existing collection by ID for creating the application inside.

  In this case, you must provide the `coll_id` argument to be able to use all the commands on these application. By default all the command look for application which are under the Applications collection.

  createApp(name, desc=None, coll_id=None, coll_name=None, coll_desc=None, public=None)

    Create a new application in the collection which correspond to `coll_id`, by default it will create the application in the collection named `Applications`. The application will contain a `draft` folder. Two templates names will be set as a metadata of this new application. One for determine each future uploaded application package and the other to determine each future uploaded extension. It’s also possible to create a new collection by specifying “coll_name”. If this collection already exist it will use it.

    Parameters

      - name – name of the new application

      - desc – Optional description of the application

      - coll_id – Id of an existing collection

      - coll_name – Name of the collection

      - coll_desc – Optional description of the new collection

      - public – Whether the collection should be publicly visible

    Returns

      The new application

  createRelease(app_name, name, revision, coll_id=None, desc=None)

    Create a new release within the application corresponding to `app_name`.

    Parameters

      - app_name – Name of the application

      - name – Name of the release

      - revision – Revision of the application

      - coll_id – Collection ID

      - desc – Description of the release

    Returns

      The new release

  deleteApp(name, coll_id=None)

    Delete the application by ID.

    Parameters

      - name – application name

      - coll_id – Collection ID

    Returns

      The deleted application

  deleteApplicationPackage(app_name, id_or_name, coll_id=None)

    Delete an application package within an application.

    Parameters

      - app_name – Name of the application

      - id_or_name – Package ID or name

      - coll_id – Collection ID

    Returns

      The deleted application package

  deleteDraftRelease(app_name, revision, coll_id=None)

    Delete a specific revision within the Draft release.

    Parameters

      - app_name – Name of the application

      - revision – Revision of the release

      - coll_id – Collection ID

    Returns

      The deleted release

  deleteExtension(app_name, id_or_name, coll_id=None)

    Delete an extension within an application.

    Parameters

      - app_name – Name of the application

      - id_or_name – Extension ID or name

      - coll_id – Collection ID

    Returns

      The deleted extension

  deleteRelease(app_name, name, coll_id=None)

    Delete a release within an application.

    Parameters

      - app_name – Name of the application

      - name – Name of the release

      - coll_id – Collection ID

    Returns

      The deleted release

  downloadApplicationPackage(app_name, id_or_name, coll_id=None, dir_path='/home/jcfr/Projects/slicer_package_manager/docs')

    Download an application package by ID and store it in the given option `dir_path`. When we use the package id in `id_or_name`, the parameter `app_name` is ignored.

    Parameters

      - app_name – Name of the application

      - id_or_name – ID or name of the package

      - coll_id – Collection ID

      - dir_path – Path of the directory where the application package has to be downloaded

    Returns

      The downloaded package

  downloadExtension(app_name, id_or_name, coll_id=None, dir_path='/home/jcfr/Projects/slicer_package_manager/docs')

    Download an extension by ID and store it in the given option `dir_path`. When we use the extension id in `id_or_name`, the parameter `app_name` is ignored.

    Parameters

      - app_name – Name of the application

      - id_or_name – ID or name of the extension

      - coll_id – Collection ID

      - dir_path – Path of the directory where the extension has to be downloaded

    Returns

      The downloaded extension

  listApp(name=None, coll_id=None)

    List all the applications within a specific collection by providing the option `coll_id`. By default it will list within the collection `Applications`. It can also lead to get the application by name.

    Parameters

      - name – application mame

      - coll_id – Collection ID

    Returns

      A list of applications

  listApplicationPackage(app_name, coll_id=None, name=None, pkg_os=None, arch=None, revision=None, version=None, release=None, limit=50)

    List the application packages filtered by some optional parameters (os, arch, …).

    By default only the first N application packages are listed. Setting the `limit` parameter to 0 removes this restriction.

    It’s also possible to specify the `--release` option to list all the package from a specific release.

    Parameters

      - app_name – Name of the application

      - coll_id – Collection ID

      - name – Base name of the application package

      - pkg_os – The target operating system of the package

      - arch – The os chip architecture

      - revision – Revision of the application

      - version – Version of the application

      - release – Name or ID of the release

      - limit – Limit of the number of applications listed (see `Constant.DEFAULT_LIMIT`)

    Returns

      A list of application package filtered by optional parameters

  listDraftRelease(app_name, coll_id=None, revision=None, limit=50, offset=0)

    List the draft releases with an offset option to list only the older ones.

    By default only the first N releases are listed. Setting `limit` parameter to 0 removes this restriction.

    It’s also possible to list one release within the Draft release by providing its specific revision.

    Parameters

      - app_name – Name of the application

      - coll_id – Collection ID

      - revision – Revision of the release

      - limit – Limit of the number of draft releases listed (see `Constant.DEFAULT_LIMIT`)

      - offset – offset to list only older revisions

    Returns

      The list of draft release

  listExtension(app_name, coll_id=None, name=None, ext_os=None, arch=None, app_revision=None, release='draft', query=None, limit=50, all=False)

    List the extensions of a specific application `app_name`.

    By default only the first N extensions within the `draft` release are listed. Setting `limit` parameter to 0 removes this restriction.

    Specifying optional parameters like ext_os or arch allows to return the corresponding subset.

    Passing `all=True` option allow to list all the extensions from all the releases of an application.

    Parameters

      - app_name – Name of the application

      - coll_id – Collection ID

      - name – Base name of the extension

      - ext_os – The target operating system of the package

      - arch – The os chip architecture

      - app_revision – Revision of the application

      - release – Name of the release

      - query – Text expected to be found in the extension name or description

      - limit – Limit of the number of extensions listed (see `Constant.DEFAULT_LIMIT`)

      - all – Boolean that allow to list extensions from all the release

    Returns

      A list of extensions filtered by optional parameters

  listRelease(app_name, name=None, coll_id=None)

    List all the release within an application. It’s also able to get one specific release by name.

    Parameters

      - app_name – Name of the application

      - name – Name of the release

      - coll_id – Collection ID

    Returns

      A list of all the release within the application

  uploadApplicationPackage(filepath, app_name, pkg_os, arch, name, repo_type, repo_url, revision, version, build_date=None, coll_id=None, desc='', pre_release=False)

    Upload an application package by providing a path to the file. It can also be used to update an existing one.

    Parameters

      - filepath – The path to the file

      - app_name – The name of the application

      - pkg_os – The target operating system of the package

      - arch – The os chip architecture

      - name – The baseName of the package

      - repo_type – Type of the repository

      - repo_url – Url of the repository

      - revision – The revision of the application

      - version – The version of the application

      - build_date – The build timestamp specified as a datetime string. Default set to current date and time.

      - coll_id – Collection ID

      - desc – The description of the application package

      - pre_release – Boolean to specify if the package is ready to be distributed

    Returns

      The uploaded application package

  uploadExtension(filepath, app_name, ext_os, arch, name, repo_type, repo_url, revision, app_revision, desc='', icon_url='', category=None, homepage='', screenshots=None, contributors=None, dependency=None, coll_id=None, force=False)

    Upload an extension by providing a path to the file. It can also be used to update an existing one, in this case the upload is done only if the extension has a different revision than the old one.

    Parameters

      - filepath – The path to the file

      - app_name – The name of the application

      - ext_os – The target operating system of the package

      - arch – The os chip architecture

      - name – The baseName of the extension

      - repo_type – Type of the repository

      - repo_url – Url of the repository

      - revision – The revision of the extension

      - app_revision – The revision of the application supported by the extension

      - desc – The description of the extension

      - icon_url – Url of the extension’s logo

      - category – Category of the extension

      - homepage – Url of the extension’s homepage

      - screenshots – Space-separate list of URLs of screenshots for the extension.

      - contributors – List of contributors of the extension.

      - dependency – List of the required extensions to use this one.

      - coll_id – Collection ID

      - force – To force update the binary file

    Returns

      The uploaded extension

exception slicer_package_manager_client.SlicerPackageManagerError

  Bases: `Exception`

### Submodules

### slicer_package_manager_client.cli module

class slicer_package_manager_client.cli.SlicerPackageCli(username, password, host=None, port=None, apiRoot=None, scheme=None, apiUrl=None, apiKey=None)

  Bases: `slicer_package_manager_client.SlicerPackageClient`

  A command line Python client for interacting with a Girder instance’s RESTful api, specifically for performing uploads into a Girder instance.