Skip to main content

C-PAC Python Package

Project description

GitHub Action: Test cpac GitHub version upload Python package to PyPI PyPI version coverage badge

A Python package that wraps C-PAC, enabling users to install cpac with pip and run from the command line.

Description

cpac 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

Usage

cpac --help
usage: cpac [-h] [--version] [-o OPT] [-B CUSTOM_BINDING]
            [--platform {docker,singularity,apptainer}] [--image IMAGE]
            [--tag TAG] [--working_dir PATH] [-v] [-vv]
            {run,utils,version,group,gradients,tsconcat,pull,upgrade,enter,bash,shell,parse-resources,parse_resources,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

Known issues:
- Some Docker containers unexpectedly persist after cpac finishes. To clear them, run
    1. `docker ps` to list the containers
  For each C-PAC conatainer that persists, run
    2. `docker attach <container_name>`
    3. `exit`
- https://github.com/FCP-INDI/cpac/issues

positional arguments:
  {run,utils,version,group,gradients,tsconcat,pull,upgrade,enter,bash,shell,parse-resources,parse_resources,crash}
    run                 Run C-PAC. See
                        "cpac [--platform {docker,apptainer,singularity}] [--image IMAGE] [--tag TAG] run --help"
                        for more information.
    utils               Run C-PAC commandline utilities. See
                        "cpac [--platform {docker,apptainer,singularity}] [--image IMAGE] [--tag TAG] utils --help"
                        for more information.
    version             Print the version of C-PAC that cpac is using.
    group               Run a group level analysis in C-PAC. See
                        "cpac [--platform {docker,apptainer,singularity}] [--image IMAGE] [--tag TAG] group --help"
                        for more information.
    gradients           Run ba_timeseries_gradients. See
                        "cpac [--platform "{docker,singularity}] gradients --help"
                        for more information.
    tsconcat            Run ba-tsconcat (<0.2.0,>=0.1.2)
    pull (upgrade)      Upgrade your local C-PAC version to the latest version
                        by pulling from Docker Hub or other repository.
                        Use with "--image" and/or "--tag" to specify an image
                        other than the default "fcpindi/c-pac:latest" to pull.
    enter (bash, shell)
                        Enter a new C-PAC container via BASH.
    parse-resources (parse_resources)
                        .

                        When provided with a `callback.log` file, this utility can sort through
                        the memory `runtime` usage, `estimate`, and associated `efficiency`, to
                        identify the `n` tasks with the `highest` or `lowest` of each of these
                        categories.
                        "parse-resources" is intended to be run outside a C-PAC container.
                        See "cpac parse-resources --help" for more information.
    crash               Convert a crash pickle to plain text (C-PAC < 1.8.0).

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -o OPT, --container_option OPT, --container_options 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
                        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,apptainer}
                        If neither platform nor image is specified,
                        cpac will try Docker first, then try
                        Apptainer/Singularity if Docker fails.
  --image IMAGE         path to Apptainer/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 Apptainer/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
  -v, --verbose         set loglevel to INFO
  -vv, --very-verbose   set loglevel to DEBUG

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cpac-1.8.7.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

cpac-1.8.7-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

Details for the file cpac-1.8.7.tar.gz.

File metadata

  • Download URL: cpac-1.8.7.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.5.0-1018-azure

File hashes

Hashes for cpac-1.8.7.tar.gz
Algorithm Hash digest
SHA256 f7f38f4a66afb473505f0ea293e2eac26fd3eea0690d86492a249f5bcda488cd
MD5 d889de734c29d7a5d300d25d67846ede
BLAKE2b-256 1ed4061ac332fd0378e87f7d4b584f64c26447e652e138b2d95477807b0e3f57

See more details on using hashes here.

File details

Details for the file cpac-1.8.7-py3-none-any.whl.

File metadata

  • Download URL: cpac-1.8.7-py3-none-any.whl
  • Upload date:
  • Size: 31.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.5.0-1018-azure

File hashes

Hashes for cpac-1.8.7-py3-none-any.whl
Algorithm Hash digest
SHA256 99b96f2d443dbc55da81c8cc6a10af08e021ea7d0fb498dbea95392a8c8eb4b1
MD5 365736b10e2ff613edf1d87ba0f2263c
BLAKE2b-256 beb651fd84678a540a9da7190609b3313078e063f2bc03670dc2ab2834f2678f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page