firecloud


Namefirecloud JSON
Version 0.16.37 PyPI version JSON
download
home_pagehttps://github.com/broadinstitute/fiss
SummaryFirecloud API bindings and FISS CLI
upload_time2024-03-19 19:33:25
maintainer
docs_urlNone
authorBroad Institute CGA Genome Data Analysis Center
requires_python
licenseBSD 3-Clause License
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            =======================================================================
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
	...

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/broadinstitute/fiss",
    "name": "firecloud",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Broad Institute CGA Genome Data Analysis Center",
    "author_email": "gdac@broadinstitute.org",
    "download_url": "https://files.pythonhosted.org/packages/48/4e/c936e1413708d180dca916d1576501b7f7f1cebd00c92885bbaf03082a81/firecloud-0.16.37.tar.gz",
    "platform": null,
    "description": "=======================================================================\n1. Description\n=======================================================================\n\nFISS -- (Fi)reCloud (S)ervice (S)elector\n\nFISS is a programmatic interface to FireCloud (FC), providing a set of low- and\nhigh-level Python bindings to the FireCloud API, as well as UNIX bindings for\ncommand line usage.  By wrapping the FireCloud RESTful API in this manner, our\nhope is to provide an interface that resonates more closely with the majority of\nexpected FC users--supporting interaction with FC in memes familiar to them, as\nbiomedical researchers & informaticians rather than database or web programmers\n\nLike legacy FISS, the (Fi)rehose (S)ervice (S)selector that was created for\ninternal use at the Broad Institute, FISSFC aims to be:\n\n    fast               compared to navigating screens & menus in the GUI,\n                       importing/exporting files manually, etc\n    programmatic       can be used in analysis scripts, UNIX cli, cron jobs etc\n    iterable           easily repeat commands across workspaces, entity sets,\n                       workflows, and even project domains\n    simple to use      don't have to learn FC internal abstractions, or code\n                       directly to the RESTful interface (e.g. in curl)\n    understandable     clear & consistent semantics, for FC novice or expert\n    extensible         users can customize how it works, without permission\n                       (or needing development assistance) from the author!\n    portable           Python 2 and 3 implementation, UNIX shell\n    idiomatic          allows FireCloud to be combined with the power of UNIX\n    self-documenting   (well, almost!) in addition to the --help flag, usage\n                       statements are provided for most methods when they're\n                       called with no args; the -F flag can display the body\n                       of any method, and -l flag lists all available methods\n\nhttps://software.broadinstitute.org/firecloud/\nhttps://github.com/broadinstitute/fiss\n\n=======================================================================\n2. Contents\n=======================================================================\n1. Description\n2. Contents\n3. Requirements\n4. Unix command line\n5. Low-level interface\n6. High-level interface\n7. User configuration\n\n=======================================================================\n3. Requirements\n=======================================================================\n\nInstall this package via pip:\n% pip install firecloud\n\nOr download the source and install with setup.py:\n% python setup.py install\n\nFISS depends on several additional Python software packages, as listed in\nsetup.py; typically the entire installation process (including loading of\npackages) takes only a few minutes.\n\n**Note: FireCloud encryts all web traffic with TLSv1.2. Some versions of\npython will not function correctly, and must be recompiled with openssl\nv1.02 or later. If recompiling is not an option, there is also a\ndockerized version of the tool available on docker hub\n(https://hub.docker.com/r/broadgdac/fiss/).\n\n% docker pull broadgdac/fiss\n\n=======================================================================\n4. UNIX command line interface\n=======================================================================\n\nAfter installation your the 'fissfc' executable should be findable in your\n$PATH.  Type 'fissfc --help' for more details on how to use this utility\nin a UNIX setting.\n\nNote that if you are running on a Google VM, executing 'pip install' as an\nunprivileged user (i.e. not sudo) will result in the package being installed\nto a directory named $HOME/.local, so you will need to ensure $HOME/.local/bin\nis in your $PATH (e.g. by setting it in your Bash login script) so that\nthe fissfc binary can be found.\n\n=======================================================================\n5. Low-Level API\n=======================================================================\n\nThe low-level API provides a direct one-to-one mapping between the\nRESTful API of FireCloud and methods in the Python interpreter. It\nalso provides conveniences like automatic header creation, paging,\nand debug settings (e.g. verbosity) across the entire API.  To access\nthe low-level API simply import into a Python interpreter:  for example\n\n    import firecloud.api as fapi\n\nAfter importing, you can see what low level methods are available via\n\n     dir(fapi)\n\nand for detailed documentation simply use the Python help system:\n\n     help(fapi)\n\nFinally, note that interactive documentation for the FireCloud RESTful API\n(sometimes referred to as the Orchestration Layer) can be found online at\n\n    https://api.firecloud.org\n\n=======================================================================\n6. High-Level Classes\n=======================================================================\n\nTo access the high-level interface import the 'fiss' module, e.g.\n\n    from firecloud import fiss\n\nand use the dir() and help() Python as shown above.\n\n=======================================================================\n7. User configuration\n=======================================================================\n\nThe behavior of FISS can be tailored by writing a configuration file,\ne.g. to give default values for the project and workspace parameters\nthat are common to many operations with FireCloud.  This would make it\neasier to use the UNIX command line interface by allowing the --project\nand --workspace flags to be omitted.\n\nBy default FISS will look for a user-specific configuration file at\n\n    $HOME/.fissconfig\n\nFor example, developers within the Broad Genome Data Analysis Center (GDAC) \nuse a configuration file like\n\n\t[DEFAULT]\n\tproject=broad-firecloud-gdac\n\tworkspace=dev\n\tmethod_ns=broadgdac\n\nTo inspect your runtime configuration, simply issue the config command:\n\n\tlinux%    fissfc  config\n\tdebug   \t\tFalse\n\tentity_type     sample_set\n\t...\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License",
    "summary": "Firecloud API bindings and FISS CLI",
    "version": "0.16.37",
    "project_urls": {
        "Homepage": "https://github.com/broadinstitute/fiss"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "484ec936e1413708d180dca916d1576501b7f7f1cebd00c92885bbaf03082a81",
                "md5": "de826e6b40455b7b469e23904351bab6",
                "sha256": "8033d40d225c3623ec8fe2e364b6b569966ff589b58950353a1776d0a7216fcb"
            },
            "downloads": -1,
            "filename": "firecloud-0.16.37.tar.gz",
            "has_sig": false,
            "md5_digest": "de826e6b40455b7b469e23904351bab6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 58431,
            "upload_time": "2024-03-19T19:33:25",
            "upload_time_iso_8601": "2024-03-19T19:33:25.712291Z",
            "url": "https://files.pythonhosted.org/packages/48/4e/c936e1413708d180dca916d1576501b7f7f1cebd00c92885bbaf03082a81/firecloud-0.16.37.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-19 19:33:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "broadinstitute",
    "github_project": "fiss",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "firecloud"
}
        
Elapsed time: 1.19275s