Metadata-Version: 2.1
Name: dds_cli
Version: 0.0.6
Summary: A command line tool to manage data and projects in the SciLifeLab Data Delivery System.
Home-page: https://github.com/ScilifelabDataCentre/dds_cli
Author: SciLifeLab Data Centre
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Description-Content-Type: text/markdown
License-File: LICENSE

# SciLifeLab Data Delivery System - Command line interface

[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![install with PyPI](https://img.shields.io/badge/install%20with-PyPI-blue.svg)](https://pypi.org/project/dds-cli/)

> **A command line tool `dds` to manage data and projects in the SciLifeLab Data Delivery Service.**

This will be used for data delivery within larger projects and/or projects resulting in the production of large amounts of data, for example next-generation sequencing data and imaging.

This tool is written and maintained by the [SciLifeLab Data Centre](https://www.scilifelab.se/data).

## Table of contents

* [Installation](#installation)
* [Overview of commands](#overview-of-commands)

## Installation

### Python Package Index

> :warning: Only pre-releases so far.

The `dds-cli` package can be installed from [PyPI](https://pypi.python.org/pypi/dds_cli/) using pip as follows:

```bash
pip install dds-cli
```

After installing, run `dds` and verify that the output looks like this:

```bash
$ dds
     ︵ 
 ︵ (  )   ︵ 
(  ) ) (  (  )   SciLifeLab Data Delivery System 
 ︶  (  ) ) (    https://delivery.scilifelab.se/ 
      ︶ (  )    Version 0.0.6 
          ︶ 
Current user: dds_admin
                                                                                                                                                                                                             
 Usage: dds [OPTIONS] COMMAND [ARGS]...                                                                                                                                                                      
                                                                                                                                                                                                             
 SciLifeLab Data Delivery System (DDS) command line interface.                                                                                                                                               
 Access token is saved in a .dds_cli_token file in the home directory.                                                                                                                                       
                                                                                                                                                                                                             
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
│  --verbose    -v              Print verbose output to the console.                               │
│  --log-file   -l  <filename>  Save a log to a file.                                              │
│  --no-prompt                  Run without any interactive features.                              │
│  --version                    Show the version and exit.                                         │
│  --help                       Show this message and exit.                                        │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────────────────╮
│  auth     Group command for creating and managing authenticated sessions.                        │
│  data     Group command for uploading, downloading and managing project data.                    │
│  ls       List the projects you have access to or the project contents.                          │
│  project  Group command for creating and managing projects within the DDS.                       │
│  user     Group command for managing user accounts, including your own.                          │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
```

### Development version

If you would like the latest development version of tools, the command is:

```bash
pip install --upgrade --force-reinstall git+https://github.com/ScilifelabDataCentre/dds_cli.git@dev
```

If you intend to make edits to the code, first make a fork of the repository and then clone it locally.
Go to the cloned directory and install with pip (also installs development requirements):

```bash
pip install --upgrade -r requirements-dev.txt -e .
```

## Overview of commands

Once installed you can use the command `dds` in a terminal session. This has the following subcommands:

* `get` - Download specified files from the cloud and restore the original format.
* `ls` - List the projects and the files within projects.
* `put` - Process and upload specified files to the cloud.
* `rm` - Delete files within a project.


