How to use the spython.main.Client function in spython

To help you get started, we’ve selected a few spython examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github singularityhub / sregistry-cli / sregistry / main / docker / pull.py View on Github external
for layer in layers:
        bot.info("Exploding %s" % layer)
        result = extract_tar(layer, sandbox, handle_whiteout=True)
        if result["return_code"] != 0:
            bot.exit(result["message"])

    sudo = kwargs.get("sudo", False)

    # Build from a sandbox (recipe) into the image_file (squashfs)
    image_file = Singularity.build(image=file_name, recipe=sandbox, sudo=sudo)

    # Fall back to using Singularity
    if image_file is None:
        bot.info("Downloading with native Singularity, please wait...")
        image = file_name.replace("docker://", uri)
        image_file = Singularity.pull(image, pull_folder=sandbox)

    # Save to local storage
    if save is True:

        # Did we get the manifests?
        manifests = {}
        if hasattr(self, "manifests"):
            manifests = self.manifests

        container = self.add(
            image_path=image_file, image_uri=names["uri"], metadata=manifests, url=url
        )

        # When the container is created, this is the path to the image
        image_file = container.image
github singularityhub / sregistry-cli / sregistry / main / aws / pull.py View on Github external
for layer in layers:
        bot.info("Exploding %s" % layer)
        result = extract_tar(layer, sandbox, handle_whiteout=True)
        if result["return_code"] != 0:
            bot.exit(result["message"])

    sudo = kwargs.get("sudo", False)

    # Build from a sandbox (recipe) into the image_file (squashfs)
    image_file = Singularity.build(image=file_name, recipe=sandbox, sudo=sudo)

    # Fall back to using Singularity
    if image_file is None:
        bot.info("Downloading with native Singularity, please wait...")
        image = file_name.replace("aws://", "docker://")
        image_file = Singularity.pull(image, pull_folder=sandbox)

    # Save to local storage
    if save is True:

        # Did we get the manifests?
        if hasattr(self, "manifest"):
            manifest = self.manifest

        container = self.add(
            image_path=image_file, image_uri=names["uri"], metadata=manifest, url=url
        )

        # When the container is created, this is the path to the image
        image_file = container.image

    if os.path.exists(image_file):
github singularityhub / sregistry-cli / sregistry / main / base / inspect.py View on Github external
bot.error("Cannot find %s." % image_file)
            return names or metadata

    # The user provided a file, but no names
    if not names:
        names = parse_image_name(remove_uri(image_file))

    # Look for the Singularity Executable
    singularity = which("singularity")["message"]

    # Inspect the image, or return names only
    if os.path.exists(singularity) and image_file:
        from spython.main import Client as Singularity

        # Store the original quiet setting
        is_quiet = Singularity.quiet

        # We try and inspect, but not required (wont work within Docker)
        try:
            Singularity.quiet = True
            updates = Singularity.inspect(image=image_file)
        except:
            bot.warning("Inspect command not supported, metadata not included.")
            updates = None

        # Restore the original quiet setting
        Singularity.quiet = is_quiet

        # Try loading the metadata
        if updates is not None:
            try:
                updates = json.loads(updates)
github singularityhub / singularity-cli / spython / client / run.py View on Github external
def main(args, options):
    from spython.main import Client

    verbostiy = Client._parse_verbosity(args)  # list of verbosity flags
    options = Client._parse(options)
github singularityhub / singularity-cli / spython / client / apps.py View on Github external
def main(args, options):

    from spython.main import Client
    if len(options) > 0:
        image = options.pop(0)
        if os.path.exists(image):
            Client.apps(image)
github singularityhub / singularity-cli / spython / client / instance.py View on Github external
def main(args, options):
    '''main function for instances'''
    from spython.main import Client
    Client.check_install()