cli

Bioconda Utils Command Line Interface

Functions

autobump(recipe_folder, config[, packages, …])

Updates recipes in recipe_folder

bioconductor_skeleton(recipe_folder, config, …)

Build a Bioconductor recipe.

bot([loglevel])

Locally accedd bioconda-bot command API

build(recipe_folder, config[, packages, …])

clean_cran_skeleton(recipe[, no_windows])

Cleans skeletons created by conda skeleton cran.

dag(recipe_folder, config[, packages, …])

Export the DAG of packages to a graph format file for visualization

dependent(recipe_folder, config[, restrict, …])

Print recipes dependent on a package

do_lint(recipe_folder, config[, packages, …])

Lint recipes

duplicates(config[, strict_version, …])

Detect packages in bioconda that have duplicates in the other defined channels.

enable_debugging()

Adds the paremeter --pdb (or -P) to enable dropping into PDB

enable_logging([default_loglevel, …])

Adds the parameter --loglevel and sets up logging

enable_threads()

Adds the parameter --threads (or -t) to limit parallelism

get_recipes(config, recipe_folder, packages, …)

Gets list of paths to recipe folders to be built

get_recipes_to_build(git_range, recipe_folder)

Gets list of modified recipes according to git_range and blacklist

main()

recipe_folder_and_config([allow_missing_for])

Adds optional positional arguments recipe_folder and config

update_pinning(recipe_folder, config[, …])

Bump a package build number and all dependencies as required due to a change in pinnings

Documentation

bioconda_utils.cli.autobump(recipe_folder, config, packages='*', exclude=None, cache=None, failed_urls=None, unparsed_urls=None, recipe_status=None, exclude_subrecipes=None, exclude_channels='conda-forge', ignore_blacklists=False, fetch_requirements=False, check_branch=False, create_branch=False, create_pr=False, only_active=False, no_shuffle=False, max_updates=0, dry_run=False, no_check_pinnings=False, no_follow_graph=False, no_check_version_update=False, no_check_pending_deps=False, bump_only_python=False, sign=0, commit_as=None)[source]

Updates recipes in recipe_folder

bioconda_utils.cli.bioconductor_skeleton(recipe_folder, config, package, versioned=False, force=False, pkg_version=None, bioc_version=None, recursive=False, skip_if_in_channels=['conda-forge', 'bioconda'])[source]

Build a Bioconductor recipe. The recipe will be created in the ‘recipes’ directory and will be prefixed by “bioconductor-“. If –recursive is set, then any R dependency recipes will be prefixed by “r-“.

These R recipes must be evaluated on a case-by-case basis to determine if they are relevant to biology (in which case they should be submitted to bioconda) or not (submit to conda-forge).

Biology-related:

‘bioconda-utils clean-cran-skeleton <recipe> –no-windows’ and submit to Bioconda.

Not bio-related:

‘bioconda-utils clean-cran-skeleton <recipe>’ and submit to conda-forge.

bioconda_utils.cli.bot(loglevel='info')[source]

Locally accedd bioconda-bot command API

To run the bot locally, use:

$ gunicorn bioconda_utils.bot:init_app_internal_celery –worker-class aiohttp.worker.GunicornWebWorker

You can append –reload to have gunicorn reload if any of the python files change.

bioconda_utils.cli.clean_cran_skeleton(recipe, no_windows=False)[source]

Cleans skeletons created by conda skeleton cran.

Before submitting to conda-forge or Bioconda, recipes generated with conda skeleton cran need to be cleaned up: comments removed, licenses fixed, and other linting.

Use –no-windows for a Bioconda submission.

bioconda_utils.cli.dag(recipe_folder, config, packages='*', format='gml', hide_singletons=False)[source]

Export the DAG of packages to a graph format file for visualization

bioconda_utils.cli.dependent(recipe_folder, config, restrict=False, dependencies=None, reverse_dependencies=None)[source]

Print recipes dependent on a package

bioconda_utils.cli.do_lint(recipe_folder, config, packages='*', cache=None, list_checks=False, exclude=None, push_status=False, user='bioconda', commit=None, push_comment=False, pull_request=None, repo='bioconda-recipes', git_range=None, full_report=False, try_fix=False)[source]

Lint recipes

If –push-status is not set, reports a TSV of linting results to stdout. Otherwise pushes a commit status to the specified commit on github.

bioconda_utils.cli.duplicates(config, strict_version=False, strict_build=False, dryrun=False, remove=False, url=False, channel='bioconda')[source]

Detect packages in bioconda that have duplicates in the other defined channels.

bioconda_utils.cli.enable_debugging()[source]

Adds the paremeter --pdb (or -P) to enable dropping into PDB

bioconda_utils.cli.enable_logging(default_loglevel='info', default_file_loglevel='debug')[source]

Adds the parameter --loglevel and sets up logging

Parameters

default_loglevel – loglevel used when –loglevel is not passed

bioconda_utils.cli.enable_threads()[source]

Adds the parameter --threads (or -t) to limit parallelism

bioconda_utils.cli.get_recipes(config, recipe_folder, packages, git_range)[source]

Gets list of paths to recipe folders to be built

Considers all recipes matching globs in packages, constrains to recipes modified or unblacklisted in the git_range if given, then removes blacklisted recipes.

Return type

List[str]

bioconda_utils.cli.get_recipes_to_build(git_range, recipe_folder)[source]

Gets list of modified recipes according to git_range and blacklist

See BiocondaRepoMixin.get_recipes_to_build().

Parameters

git_range (Tuple[str]) – one or two-tuple containing “from” and “to” git refs, with “to” defaulting to “HEAD”

Return type

List[str]

Returns

List of recipes for which meta.yaml or build.sh was modified or which were unblacklisted.

bioconda_utils.cli.recipe_folder_and_config(allow_missing_for=None)[source]

Adds optional positional arguments recipe_folder and config

Requires that func has synopsis def x(recipe_folder, config,...).

bioconda_utils.cli.update_pinning(recipe_folder, config, packages='*', skip_additional_channels=None, bump_only_python=False, cache=None)[source]

Bump a package build number and all dependencies as required due to a change in pinnings