Skip to main content

CLI for remote admin of Galaxy servers

Project description

Nebulizer Logo

Command-line utilities to help with managing users, data libraries and tools in a Galaxy instance, using the Galaxy API via the Bioblend library.

https://readthedocs.org/projects/pip/badge/?version=latest https://badge.fury.io/py/nebulizer.svg https://github.com/pjbriggs/nebulizer/workflows/Python%20CI/badge.svg

Note

Nebulizer is still a work in progress.

Please exercise caution when attempting irreversible operations, especially against production Galaxy instances (for example when creating users or data libraries).

Quick Start

This quick start gives some examples of using nebulizer commands to perform remote administration tasks on a Galaxy instance from the command line.

Getting Nebulizer

It is recommended to install Nebulizer via pip in a virtualenv, for example:

% virtualenv .venv
% source .venv/bin/activate
% pip install nebulizer

This will provide an executable called nebulizer with a number of subcommands for performing different tasks remotely on Galaxy instances.

Nebulizer Basics

Generally Nebulizer commands take the form:

nebulizer COMMAND GALAXY [OPTIONS]

To interact remotely with a Galaxy instance using Nebulizer requires at minimum the URL of the instance and then either an API key or a user login name.

For example to list the data libraries available on Galaxy Main:

nebulizer -k 9b376af2250818d14949b3c list_libraries https://usegalaxy.org

or

nebulizer -u USER@DOMAIN list_libraries https://usegalaxy.org

In this second case Nebulizer will prompt for the Galaxy password to authenticate the user login, unless it’s supplied via the -P option.

To store the Galaxy URL-API key pair against an alias main, to avoid needing full authentication details each time:

nebulizer add_key main https://usegalaxy.org 9b376af2250818d14949b3c

or alternatively get Nebulizer to fetch the API key itself by supplying the user login:

nebulizer -u USER@DOMAIN add_key main https://usegalaxy.org

More information on managing API keys in Nebulizer can found here.

The stored alias is then used in subsequent commands, for example to list the data libraries again it is now sufficient to do just:

nebulizer list_libraries main

The following sections contain examples of how Nebulizer might be used to perform various administrive tasks.

Nebulizer provides subcommands to perform various administrive tasks:

Managing users:

  • list_users
  • create_user
  • create_batch_users
  • create_users_from_file
  • delete_user

Managing data libraries:

  • list_libraries
  • create_library
  • create_library_folder
  • add_library_datasets

Managing tools:

  • list_tools
  • list_tool_panel
  • install_tool
  • update_tool
  • uninstall_tool
  • search_toolshed

Managing quotas:

  • quotas
  • quota_add
  • quota_mod
  • quota_del

Querying Galaxy instances:

  • ping (check if a Galaxy instance is alive)
  • config (fetch configuration for a Galaxy instance)

See the tutorial for a walkthrough some of these commands.

Contributors

Nebulizer has been developed by Peter Briggs @pjbriggs, with contributions from:

Thanks to Peter van Heuseden (@pvanheus) for porting Nebulizer into Bioconda.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for nebulizer, version 0.7.1
Filename, size File type Python version Upload date Hashes
Filename, size nebulizer-0.7.1-py3-none-any.whl (57.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size nebulizer-0.7.1.tar.gz (54.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page