Metadata-Version: 2.1
Name: firecloud
Version: 0.16.33
Summary: Firecloud API bindings and FISS CLI
Home-page: https://github.com/broadinstitute/fiss
Author: Broad Institute CGA Genome Data Analysis Center
Author-email: gdac@broadinstitute.org
License: BSD 3-Clause License
Description: =======================================================================
        1. Description
        =======================================================================
        
        FISS -- (Fi)reCloud (S)ervice (S)elector
        
        FISS is a programmatic interface to FireCloud (FC), providing a set of low- and
        high-level Python bindings to the FireCloud API, as well as UNIX bindings for
        command line usage.  By wrapping the FireCloud RESTful API in this manner, our
        hope is to provide an interface that resonates more closely with the majority of
        expected FC users--supporting interaction with FC in memes familiar to them, as
        biomedical researchers & informaticians rather than database or web programmers
        
        Like legacy FISS, the (Fi)rehose (S)ervice (S)selector that was created for
        internal use at the Broad Institute, FISSFC aims to be:
        
            fast               compared to navigating screens & menus in the GUI,
                               importing/exporting files manually, etc
            programmatic       can be used in analysis scripts, UNIX cli, cron jobs etc
            iterable           easily repeat commands across workspaces, entity sets,
                               workflows, and even project domains
            simple to use      don't have to learn FC internal abstractions, or code
                               directly to the RESTful interface (e.g. in curl)
            understandable     clear & consistent semantics, for FC novice or expert
            extensible         users can customize how it works, without permission
                               (or needing development assistance) from the author!
            portable           Python 2 and 3 implementation, UNIX shell
            idiomatic          allows FireCloud to be combined with the power of UNIX
            self-documenting   (well, almost!) in addition to the --help flag, usage
                               statements are provided for most methods when they're
                               called with no args; the -F flag can display the body
                               of any method, and -l flag lists all available methods
        
        https://software.broadinstitute.org/firecloud/
        https://github.com/broadinstitute/fiss
        
        =======================================================================
        2. Contents
        =======================================================================
        1. Description
        2. Contents
        3. Requirements
        4. Unix command line
        5. Low-level interface
        6. High-level interface
        7. User configuration
        
        =======================================================================
        3. Requirements
        =======================================================================
        
        Install this package via pip:
        % pip install firecloud
        
        Or download the source and install with setup.py:
        % python setup.py install
        
        FISS depends on several additional Python software packages, as listed in
        setup.py; typically the entire installation process (including loading of
        packages) takes only a few minutes.
        
        **Note: FireCloud encryts all web traffic with TLSv1.2. Some versions of
        python will not function correctly, and must be recompiled with openssl
        v1.02 or later. If recompiling is not an option, there is also a
        dockerized version of the tool available on docker hub
        (https://hub.docker.com/r/broadgdac/fiss/).
        
        % docker pull broadgdac/fiss
        
        =======================================================================
        4. UNIX command line interface
        =======================================================================
        
        After installation your the 'fissfc' executable should be findable in your
        $PATH.  Type 'fissfc --help' for more details on how to use this utility
        in a UNIX setting.
        
        Note that if you are running on a Google VM, executing 'pip install' as an
        unprivileged user (i.e. not sudo) will result in the package being installed
        to a directory named $HOME/.local, so you will need to ensure $HOME/.local/bin
        is in your $PATH (e.g. by setting it in your Bash login script) so that
        the fissfc binary can be found.
        
        =======================================================================
        5. Low-Level API
        =======================================================================
        
        The low-level API provides a direct one-to-one mapping between the
        RESTful API of FireCloud and methods in the Python interpreter. It
        also provides conveniences like automatic header creation, paging,
        and debug settings (e.g. verbosity) across the entire API.  To access
        the low-level API simply import into a Python interpreter:  for example
        
            import firecloud.api as fapi
        
        After importing, you can see what low level methods are available via
        
             dir(fapi)
        
        and for detailed documentation simply use the Python help system:
        
             help(fapi)
        
        Finally, note that interactive documentation for the FireCloud RESTful API
        (sometimes referred to as the Orchestration Layer) can be found online at
        
            https://api.firecloud.org
        
        =======================================================================
        6. High-Level Classes
        =======================================================================
        
        To access the high-level interface import the 'fiss' module, e.g.
        
            from firecloud import fiss
        
        and use the dir() and help() Python as shown above.
        
        =======================================================================
        7. User configuration
        =======================================================================
        
        The behavior of FISS can be tailored by writing a configuration file,
        e.g. to give default values for the project and workspace parameters
        that are common to many operations with FireCloud.  This would make it
        easier to use the UNIX command line interface by allowing the --project
        and --workspace flags to be omitted.
        
        By default FISS will look for a user-specific configuration file at
        
            $HOME/.fissconfig
        
        For example, developers within the Broad Genome Data Analysis Center (GDAC) 
        use a configuration file like
        
        	[DEFAULT]
        	project=broad-firecloud-gdac
        	workspace=dev
        	method_ns=broadgdac
        
        To inspect your runtime configuration, simply issue the config command:
        
        	linux%    fissfc  config
        	debug   		False
        	entity_type     sample_set
        	...
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator
Description-Content-Type: text/plain
