clowder.cli package

Submodules

clowder.cli.base_controller module

Clowder command line base controller

class clowder.cli.base_controller.BaseController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder app base controller

class Meta

Clowder app base Meta configuration

arguments = [(['-v', '--version'], {'action': 'version', 'version': '2.5.0'})]
label = 'base'

clowder.cli.branch_controller module

Clowder command line branch controller

class clowder.cli.branch_controller.BranchController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder branch command controller

class Meta

Clowder branch Meta configuration

description = 'Display current branches'
label = 'branch'
stacked_on = 'base'
stacked_type = 'embedded'
branch()

Clowder branch command entry point

clowder.cli.checkout_controller module

Clowder command line checkout controller

class clowder.cli.checkout_controller.CheckoutController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder checkout command controller

class Meta

Clowder checkout Meta configuration

description = 'Checkout local branch in projects'
label = 'checkout'
stacked_on = 'base'
stacked_type = 'embedded'
checkout()

Clowder checkout command entry point

clowder.cli.clean_controller module

Clowder command line clean controller

class clowder.cli.clean_controller.CleanController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder clean command controller

class Meta

Clowder clean Meta configuration

description = 'Discard current changes in projects'
label = 'clean'
stacked_on = 'base'
stacked_type = 'embedded'
clean()

Clowder clean command entry point

clowder.cli.diff_controller module

Clowder command line diff controller

class clowder.cli.diff_controller.DiffController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder diff command controller

class Meta

Clowder diff Meta configuration

description = 'Show git diff for projects'
label = 'diff'
stacked_on = 'base'
stacked_type = 'embedded'
diff()

Clowder diff command entry point

clowder.cli.forall_controller module

Clowder command line forall controller

class clowder.cli.forall_controller.ForallController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder forall command controller

class Meta

Clowder forall Meta configuration

description = 'Run command or script in project directories'
label = 'forall'
stacked_on = 'base'
stacked_type = 'embedded'
forall()

Clowder forall command entry point

clowder.cli.forall_controller.forall(clowder, command, ignore_errors, group_names, **kwargs)

Runs script in project directories specified

clowder.cli.forall_controller.forall_script(clowder, command, ignore_errors, group_names, project_names=None, skip=[], parallel=False)
Parameters:
  • clowder (ClowderController) – ClowderController instance
  • command (list[str]) – Command or script and optional arguments
  • ignore_errors (bool) – Whether to exit if command returns a non-zero exit code
  • group_names (list[str]) – Group names to run command for
Keyword Arguments:
 
  • project_names (list[str]) – Project names to clean
  • list[str] (skip) – Project names to skip
  • bool (parallel) – Whether command is being run in parallel, affects output

clowder.cli.herd_controller module

Clowder command line herd controller

class clowder.cli.herd_controller.HerdController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder herd command controller

class Meta

Clowder herd Meta configuration

description = 'Clone and update projects with latest changes'
label = 'herd'
stacked_on = 'base'
stacked_type = 'embedded'
herd()

Clowder herd command entry point

clowder.cli.herd_controller.herd(clowder, group_names, **kwargs)

Clone projects or update latest from upstream

clowder.cli.herd_controller.herd(clowder, group_names, branch=None, tag=None, depth=0, rebase=False, project_names=None, skip=[], protocol=None)
Parameters:
  • clowder (ClowderController) – ClowderController instance
  • group_names (list[str]) – Group names to herd
Keyword Arguments:
 
  • branch (str) – Branch to attempt to herd
  • tag (str) – Tag to attempt to herd
  • depth (int) – Git clone depth. 0 indicates full clone, otherwise must be a positive integer
  • protocol (str) – Git protocol (‘ssh’ or ‘https’)
  • rebase (bool) – Whether to use rebase instead of pulling latest changes
  • project_names (list[str]) – Project names to herd
  • skip (list[str]) – Project names to skip

clowder.cli.init_controller module

Clowder command line init controller

class clowder.cli.init_controller.InitController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder init command controller

class Meta

Clowder init Meta configuration

description = 'Clone repository to clowder directory and create clowder.yaml symlink'
label = 'init'
stacked_on = 'base'
stacked_type = 'embedded'
init()

Clowder init command entry point

clowder.cli.prune_controller module

Clowder command line prune controller

class clowder.cli.prune_controller.PruneController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder prune command controller

class Meta

Clowder prune Meta configuration

description = 'Prune branches'
label = 'prune'
stacked_on = 'base'
stacked_type = 'embedded'
prune()

Clowder prune command entry point

clowder.cli.repo_controller module

Clowder command line repo controller

class clowder.cli.repo_controller.RepoAddController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder repo add command controller

class Meta

Clowder repo add Meta configuration

description = 'Add files in clowder repo'
label = 'add'
stacked_on = 'repo'
stacked_type = 'embedded'
add()

Clowder repo add command entry point

class clowder.cli.repo_controller.RepoCommitController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder repo commit command controller

class Meta

Clowder repo commit Meta configuration

description = 'Commit current changes in clowder repo yaml files'
label = 'commit'
stacked_on = 'repo'
stacked_type = 'embedded'
commit()

Clowder repo commit command entry point

class clowder.cli.repo_controller.RepoController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder repo command controller

class Meta

Clowder repo Meta configuration

description = 'Manage clowder repo'
help = 'Manage clowder repo'
label = 'repo'
stacked_on = 'base'
stacked_type = 'nested'
class clowder.cli.repo_controller.RepoPullController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder repo pull command controller

class Meta

Clowder repo pull Meta configuration

description = 'Pull upstream changes in clowder repo'
label = 'pull'
stacked_on = 'repo'
stacked_type = 'embedded'
pull()

Clowder repo pull command entry point

class clowder.cli.repo_controller.RepoPushController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder repo push command controller

class Meta

Clowder repo push Meta configuration

description = 'Push changes in clowder repo'
label = 'push'
stacked_on = 'repo'
stacked_type = 'embedded'
push()

Clowder repo push command entry point

class clowder.cli.repo_controller.RepoRunController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder repo run command controller

class Meta

Clowder repo run Meta configuration

description = 'Run command in clowder repo'
label = 'run'
stacked_on = 'repo'
stacked_type = 'embedded'
run()

Clowder repo run command entry point

clowder.cli.reset_controller module

Clowder command line reset controller

class clowder.cli.reset_controller.ResetController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder reset command controller

class Meta

Clowder reset Meta configuration

description = 'Reset branches to upstream commits or check out detached HEADs for tags and shas'
label = 'reset'
stacked_on = 'base'
stacked_type = 'embedded'
reset()

Clowder reset command entry point

clowder.cli.reset_controller.reset(clowder, group_names, **kwargs)

Reset project branches to upstream or checkout tag/sha as detached HEAD

clowder.cli.reset_controller.reset(clowder, group_names, timestamp_project=None, parallel=False, project_names=None, skip=[])
Parameters:
  • clowder (ClowderController) – ClowderController instance
  • group_names (list[str]) – Group names to reset
Keyword Arguments:
 
  • timestamp_project (str) – Reference project to checkout commit timestamps of other projects relative to
  • parallel (bool) – Whether command is being run in parallel, affects output
  • project_names (list[str]) – Project names to reset
  • skip (list[str]) – Project names to skip

clowder.cli.save_controller module

Clowder command line save controller

class clowder.cli.save_controller.SaveController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder save command controller

class Meta

Clowder save Meta configuration

description = 'Create version of clowder.yaml for current repos'
label = 'save'
stacked_on = 'base'
stacked_type = 'embedded'
save()

Clowder save command entry point

clowder.cli.start_controller module

Clowder command line start controller

class clowder.cli.start_controller.StartController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder start command controller

class Meta

Clowder start Meta configuration

description = 'Start a new branch'
label = 'start'
stacked_on = 'base'
stacked_type = 'embedded'
start()

Clowder start command entry point

clowder.cli.stash_controller module

Clowder command line stash controller

class clowder.cli.stash_controller.StashController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder stash command controller

class Meta

Clowder stash Meta configuration

description = 'Stash current changes'
label = 'stash'
stacked_on = 'base'
stacked_type = 'embedded'
stash()

Clowder stash command entry point

clowder.cli.status_controller module

Clowder command line status controller

class clowder.cli.status_controller.StatusController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder status command controller

class Meta

Clowder status Meta configuration

description = 'Print project status'
label = 'status'
stacked_on = 'base'
stacked_type = 'embedded'
status()

Clowder status command entry point

clowder.cli.sync_controller module

Clowder command line status controller

class clowder.cli.sync_controller.SyncController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder sync command controller

class Meta

Clowder sync Meta configuration

description = 'Sync fork with upstream remote'
label = 'sync'
stacked_on = 'base'
stacked_type = 'embedded'
sync()

Clowder sync command entry point

clowder.cli.sync_controller.sync(clowder, project_names, protocol, rebase=False, parallel=False)

Sync projects

clowder.cli.sync_controller.sync(clowder, project_names, protocol, rebase=False, parallel=False)
Parameters:
  • clowder (ClowderController) – ClowderController instance
  • project_names (list[str]) – Project names to sync
  • protocol (str) – Git protocol, ‘ssh’ or ‘https’
  • rebase (Optional[bool]) – Whether to use rebase instead of pulling latest changes
  • parallel (Optional[bool]) – Whether command is being run in parallel, affects output

clowder.cli.yaml_controller module

Clowder command line yaml controller

class clowder.cli.yaml_controller.YAMLController(*args, **kw)

Bases: cement.ext.ext_argparse.ArgparseController

Clowder yaml command controller

class Meta

Clowder yaml Meta configuration

description = 'Print clowder.yaml information'
label = 'yaml'
stacked_on = 'base'
stacked_type = 'embedded'
yaml()

Clowder yaml command entry point

Module contents

Clowder cli __init__.py