Metadata-Version: 2.0
Name: hca
Version: 3.0.2
Summary: Human Cell Atlas Data Storage System Command Line Interface
Home-page: https://github.com/HumanCellAtlas/dcp-cli
Author: Human Cell Atlas contributors
Author-email: akislyuk@chanzuckerberg.com
License: Apache Software License
Description-Content-Type: UNKNOWN
Platform: MacOS X
Platform: Posix
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: boto3 (<2,>=1.4)
Requires-Dist: crcmod (<2,>=1.7)
Requires-Dist: google-auth (<2,>=1.0.2)
Requires-Dist: google-auth-oauthlib (<2,>=0.1)
Requires-Dist: Jinja2 (<3,>=2.9)
Requires-Dist: jsonpointer (<2,>=1.10)
Requires-Dist: jsonschema (<3,>=2.6)
Requires-Dist: requests (<3,>=2.17)
Requires-Dist: six (<2,>=1.10)
Requires-Dist: tweak (<1,>=0.5)
Requires-Dist: dcplib (<2,>1.0)
Requires-Dist: argcomplete (<2,>=1.9.3)
Requires-Dist: commonmark (<1,>=0.7.4)
Requires-Dist: typing (<4,>=3.6.2); python_version < "3.5"
Requires-Dist: enum34 (<2,>=1.1.6); python_version == "2.7"
Requires-Dist: funcsigs (<2,>=1.0.2); python_version == "2.7"

HCA CLI
=======
This repository contains a command line interface (CLI) and Python library for interacting with the Data Coordination
Platform (DCP) of the Human Cell Atlas (HCA). Currently it allows interaction with the Upload Service and Data Storage
Service (DSS).

Installation
------------
:code:`pip install hca`.

Usage
-----
The hca package installs a command-line utility :code:`hca`.

To see the list of commands you can use, type :code:`hca --help`.  Commands are grouped into major categories that
roughly correspond to DCP system components, e.g. DSS, Staging Service.  To get detailed help for a particular
command group type, e.g. :code:`hca dss --help`.

When it is necessary to provide a list of things to a command put them in a single string separated with slashes, e.g.
:code:`True/Bob/3806d74a-6ab5-4a6d-ba00-667ea858c7b5/2017-06-30T19:33:38+00:00`.

Development
-----------
To develop on the CLI, first run `pip install -r requirements-dev.txt`.

To use the command line interface with a local or test DSS, open <directory_holding_hca_module>/hca/api_spec.json.
Change :code:`host` to the host you want (if you're running on a local DSS, this will likely be :code:`localhost:5000`)
and the first argument of :code:`schemes` should be the scheme you want (:code:`http` if running locally,
:code:`https` otherwise).

Code Generation
---------------
Some parts of the CLI are auto-generated from the OpenAPI (Swagger) Specifications (OAS).  The Python bindings have to
be regenerated to reflect any api changes. To regenerate these, run `make bindings`.  Only package maintainers should
run this command and publish new package versions.

Testing
-------
Before you run tests, do an `hca dss login`.  This will pop up a browser and get you to authenticate with Google.
Use an email from one of the whitelisted domains (in `DSS_SUBSCRIPTION_AUTHORIZED_DOMAINS_ARRAY` from
`here <https://github.com/HumanCellAtlas/data-store/blob/master/environment#L55>`_).

Then :code:`make test`.

Bugs
~~~~
Please report bugs, issues, feature requests, etc. on `GitHub <https://github.com/HumanCellAtlas/dcp-cli/issues>`_.

License
-------
Licensed under the terms of the `MIT License <https://opensource.org/licenses/MIT>`_.

.. image:: https://img.shields.io/travis/HumanCellAtlas/dcp-cli.svg
        :target: https://travis-ci.org/HumanCellAtlas/dcp-cli
.. image:: https://codecov.io/github/HumanCellAtlas/dcp-cli/coverage.svg?branch=master
        :target: https://codecov.io/github/HumanCellAtlas/dcp-cli?branch=master
.. image:: https://img.shields.io/pypi/v/hca.svg
        :target: https://pypi.python.org/pypi/hca
.. image:: https://img.shields.io/pypi/l/hca.svg
        :target: https://pypi.python.org/pypi/hca
.. image:: https://readthedocs.org/projects/hca/badge/?version=latest
        :target: https://hca.readthedocs.io/


