.. figure:: https://raw.githubusercontent.com/pjbriggs/nebulizer/master/docs/nebulizer_logo.png :alt: Nebulizer Logo :align: center :figwidth: 100% :target: https://github.com/pjbriggs/nebulizer
Command-line utilities to help with managing users, data libraries and
tools in a Galaxy <https://galaxyproject.org/>
instance, using the
Galaxy API via the Bioblend <https://bioblend.readthedocs.io/en/latest/>
library.
.. image:: https://readthedocs.org/projects/pip/badge/?version=latest :target: https://nebulizer.readthedocs.io
.. image:: https://badge.fury.io/py/nebulizer.svg :target: https://pypi.python.org/pypi/nebulizer/
.. image:: https://github.com/pjbriggs/nebulizer/workflows/Python%20CI/badge.svg :target: https://github.com/pjbriggs/nebulizer/actions?query=workflow%3A%22Python+CI%22
.. 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).
This quick start gives some examples of using nebulizer
commands
to perform remote administration tasks on a Galaxy instance from the
command line.
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.
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 <https://nebulizer.readthedocs.io/en/latest/managing_keys.html>
_.
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 <https://nebulizer.readthedocs.io/en/latest/users.html>
_:
list_users
create_user
create_batch_users
create_users_from_file
delete_user
Managing data libraries <https://nebulizer.readthedocs.io/en/latest/libraries.html>
_:
list_libraries
create_library
create_library_folder
add_library_datasets
Managing tools <https://nebulizer.readthedocs.io/en/latest/tools.html>
_:
list_tools
list_tool_panel
install_tool
update_tool
uninstall_tool
search_toolshed
Managing quotas <https://nebulizer.readthedocs.io/en/latest/quotas.html>
_:
quotas
quota_add
quota_mod
quota_del
Querying Galaxy instances <https://nebulizer.readthedocs.io/en/latest/querying_galaxy.html>
_:
ping
(check if a Galaxy instance is alive)config
(fetch configuration for a Galaxy instance)See the tutorial <https://nebulizer.readthedocs.io/en/latest/users.html>
_
for a walkthrough some of these commands.
Nebulizer has been developed by Peter Briggs @pjbriggs, with contributions from:
@hugovk <https://github.com/hugovk>
_)Thanks to Peter van Heuseden (@pvanheus <https://github.com/pvanheus>
_)
for porting Nebulizer into Bioconda.