Metadata-Version: 2.1
Name: cpac
Version: 0.2.5
Summary: C-PAC Python Package
Home-page: https://github.com/FCP-INDI/cpac-python-package
Author: C-PAC developers
Author-email: cpac@cnl.childmind.org
License: mit
Platform: any
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
Requires-Dist: docker
Requires-Dist: docker-pycreds
Requires-Dist: nipype
Requires-Dist: pandas (>=0.23.4)
Requires-Dist: spython (>=0.0.81)
Requires-Dist: pyyaml
Requires-Dist: tabulate (>=0.8.6)
Requires-Dist: tornado
Requires-Dist: websocket-client
Provides-Extra: testing
Requires-Dist: alabaster ; extra == 'testing'
Requires-Dist: imagesize ; extra == 'testing'
Requires-Dist: pytest ; extra == 'testing'
Requires-Dist: pytest-cov ; extra == 'testing'
Requires-Dist: pytest-runne ; extra == 'testing'
Requires-Dist: sphinx ; extra == 'testing'

========================================================================
C-PAC Python Package |build-status| |github-version| |upload| |coverage|
========================================================================


A Python package that wraps `C-PAC <http://fcp-indi.github.io>`_, enabling users to install cpac with `pip <https://pip.pypa.io>`_ and run from the command line.


Description
===========

C-PAC Python Package is a lightweight Python package that handles interfacing a user's machine and a C-PAC container through a command line interface.

Dependencies
============

* `Python <https://www.python.org>`_ ≥3.6
* `pip <https://pip.pypa.io>`_
* At least one of:

  * `Docker <https://www.docker.com>`_
  * `Singularity <https://sylabs.io/singularity>`_ ≥2.5&≤3.0

Usage
=====

.. BEGIN USAGE

.. code-block:: shell

    cpac --help
    usage: cpac [-h] [--version] [-o [OPT [OPT ...]]]
                [-B [CUSTOM_BINDING [CUSTOM_BINDING ...]]]
                [--platform {docker,singularity}] [--image IMAGE] [--tag TAG]
                [--working_dir PATH] [--temp_dir PATH] [-v] [-vv]
                {run,group,utils,crash} ...

    cpac: a Python package that simplifies using C-PAC <http://fcp-indi.github.io> containerized images. 

    This commandline interface package is designed to minimize repetition.
    As such, nearly all arguments are optional.

    When launching a container, this package will try to bind any paths mentioned in 
     • the command
     • the data configuration

    An example minimal run command:
    	cpac run /path/to/data /path/for/outputs

    An example run command with optional arguments:
    	cpac -B /path/to/data/configs:/configs \
    		--image fcpindi/c-pac --tag latest \
    		run /path/to/data /path/for/outputs \
    		--data_config_file /configs/data_config.yml \
    		--save_working_dir

    Each command can take "--help" to provide additonal usage information, e.g.,

    	cpac run --help

    positional arguments:
      {run,group,utils,crash}

    optional arguments:
      -h, --help            show this help message and exit
      --version             show program's version number and exit
      -o [OPT [OPT ...]], --container_option [OPT [OPT ...]]
                            parameters and flags to pass through to Docker or Singularity

                            This flag can take multiple arguments so cannot be
                            the final argument before the command argument (i.e.,
                            run or any other command that does not start with - or --)
      -B [CUSTOM_BINDING [CUSTOM_BINDING ...]], --custom_binding [CUSTOM_BINDING [CUSTOM_BINDING ...]]
                            directories to bind with a different path in
                            the container than the real path of the directory.
                            One or more pairs in the format:
                            	real_path:container_path
                            (eg, /home/C-PAC/run5/outputs:/outputs).
                            Use absolute paths for both paths.

                            This flag can take multiple arguments so cannot be
                            the final argument before the command argument (i.e.,
                            run or any other command that does not start with - or --)
      --platform {docker,singularity}
                            If neither platform nor image is specified,
                            cpac will try Docker first, then try
                            Singularity if Docker fails.
      --image IMAGE         path to Singularity image file OR name of Docker image (eg, "fcpindi/c-pac").
                            Will attempt to pull from Singularity Hub or Docker Hub if not provided.
                            If image is specified but platform is not, platform is
                            assumed to be Singularity if image is a path or 
                            Docker if image is an image name.
      --tag TAG             tag of the Docker image to use (eg, "latest" or "nightly").
      --working_dir PATH    working directory
      --temp_dir PATH       directory for temporary files
      -v, --verbose         set loglevel to INFO
      -vv, --very-verbose   set loglevel to DEBUG

.. END USAGE

.. |github-version| image:: https://img.shields.io/github/tag/shnizzedy/cpac-python-package.svg
    :target: https://github.com/shnizzedy/cpac-python-package/releases
    :alt: GitHub version
.. |build-status| image:: https://travis-ci.org/shnizzedy/cpac-python-package.svg?branch=trunk
    :target: https://travis-ci.org/shnizzedy/cpac-python-package
    :alt: Travis CI build status
.. |coverage| image:: https://coveralls.io/repos/github/shnizzedy/cpac-python-package/badge.svg?branch=trunk
    :target: https://coveralls.io/github/shnizzedy/cpac-python-package?branch=trunk
    :alt: coverage badge
.. |upload| image:: https://github.com/shnizzedy/cpac-python-package/workflows/Upload%20Python%20Package/badge.svg
    :target: https://pypi.org/project/cpac-py/
    :alt: upload Python package



