Metadata-Version: 2.1
Name: dandi
Version: 0.25.0
Summary: Command line client for interaction with DANDI archive elements
Home-page: http://dandiarchive.org
Author: DANDI developers
Author-email: team@dandiarchive.org
Maintainer: Yaroslav O. Halchenko
Maintainer-email: debian@onerussian.com
License: Apache 2.0
Project-URL: Source Code, https://github.com/dandi/dandi-cli
Platform: OS Independent
Classifier: Development Status :: 1 - Planning
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.7
Description-Content-Type: text/markdown; charset=UTF-8
Requires-Dist: appdirs
Requires-Dist: click
Requires-Dist: click-didyoumean
Requires-Dist: dandischema (~=0.2.10)
Requires-Dist: etelemetry (>=0.2.2)
Requires-Dist: fasteners
Requires-Dist: fscacher
Requires-Dist: humanize
Requires-Dist: joblib
Requires-Dist: keyring
Requires-Dist: keyrings.alt
Requires-Dist: packaging
Requires-Dist: pycryptodomex
Requires-Dist: pydantic (>=1.8.1)
Requires-Dist: pynwb (!=1.1.0,>=1.0.3)
Requires-Dist: pyout (!=0.6.0,>=0.5)
Requires-Dist: python-dateutil
Requires-Dist: requests (~=2.20)
Requires-Dist: ruamel.yaml (<1,>=0.15)
Requires-Dist: semantic-version
Requires-Dist: tenacity
Requires-Dist: tqdm
Requires-Dist: importlib-metadata ; python_version < "3.8"
Provides-Extra: all
Requires-Dist: allensdk ; extra == 'all'
Requires-Dist: duecredit ; extra == 'all'
Requires-Dist: flake8 ; extra == 'all'
Requires-Dist: pre-commit ; extra == 'all'
Requires-Dist: anys (~=0.2) ; extra == 'all'
Requires-Dist: coverage ; extra == 'all'
Requires-Dist: pyfakefs (~=4.0) ; extra == 'all'
Requires-Dist: pytest ; extra == 'all'
Requires-Dist: pytest-cov ; extra == 'all'
Requires-Dist: pytest-mock ; extra == 'all'
Requires-Dist: responses ; extra == 'all'
Requires-Dist: boto3 ; extra == 'all'
Provides-Extra: extensions
Requires-Dist: allensdk ; extra == 'extensions'
Provides-Extra: extras
Requires-Dist: duecredit ; extra == 'extras'
Provides-Extra: style
Requires-Dist: flake8 ; extra == 'style'
Requires-Dist: pre-commit ; extra == 'style'
Provides-Extra: test
Requires-Dist: anys (~=0.2) ; extra == 'test'
Requires-Dist: coverage ; extra == 'test'
Requires-Dist: pyfakefs (~=4.0) ; extra == 'test'
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: pytest-mock ; extra == 'test'
Requires-Dist: responses ; extra == 'test'
Provides-Extra: tools
Requires-Dist: boto3 ; extra == 'tools'

# DANDI Client

[![Tests](https://github.com/dandi/dandi-cli/workflows/Tests/badge.svg)](https://github.com/dandi/dandi-cli/actions?query=workflow%3ATests)
[![codecov.io](https://codecov.io/github/dandi/dandi-cli/coverage.svg?branch=master)](https://codecov.io/github/dandi/dandi-cli?branch=master)
[![GitHub release](https://img.shields.io/github/release/dandi/dandi-cli.svg)](https://GitHub.com/dandi/dandi-cli/releases/)
[![PyPI version fury.io](https://badge.fury.io/py/dandi.svg)](https://pypi.python.org/pypi/dandi/)

This project is under heavy development.  Beware of [hidden](I-wish-we-knew) and
[disclosed](https://github.com/dandi/dandi-cli/issues) issues, or
[Work-in-Progress (WiP)](https://github.com/dandi/dandi-cli/pulls).

## Installation

At the moment DANDI client releases are [available from PyPI](https://pypi.org/project/dandi)
and [conda-forge](https://anaconda.org/conda-forge/dandi).  You could
install them in your Python (native, virtualenv, or conda) environment via

    pip install dandi

or

   conda install -c conda-forge dandi

if you are in a conda environment.

## dandi tool

This package provides a `dandi` command line utility with a basic interface
which should assist you in preparing and uploading your data to and/or obtaining
data from the http://dandiarchive.org:

```bash
$> dandi
Usage: dandi [OPTIONS] COMMAND [ARGS]...

  A client to support interactions with DANDI archive
  (http://dandiarchive.org).

  To see help for a specific command, run

      dandi COMMAND --help

  e.g. dandi upload --help

Options:
  --version
  -l, --log-level [DEBUG|INFO|WARNING|ERROR|CRITICAL]
                                  Log level name  [default: INFO]
  --pdb                           Fall into pdb if errors out
  --help                          Show this message and exit.

Commands:
  download  Download a file or entire folder from DANDI
  ls        List .nwb files and dandisets metadata.
  organize  (Re)organize files according to the metadata.
  register  Register a new dandiset in the DANDI archive
  upload    Upload dandiset (files) to DANDI archive.
  validate  Validate files for NWB (and DANDI) compliance.
```

Each of the commands has a set of options to alter their behavior.  Please run
`dandi COMMAND --help` to get more information, e.g.

```
$> dandi ls --help
Usage: dandi ls [OPTIONS] [PATHS]...

  List .nwb files metadata

Options:
  -F, --fields TEXT               Comma-separated list of fields to display.
                                  An empty value to trigger a list of
                                  available fields to be printed out
  -f, --format [auto|pyout|json|json_pp|yaml]
                                  Choose the format/frontend for output. If
                                  'auto', 'pyout' will be used in case of
                                  multiple files, and 'yaml' for a single
                                  file.
  --help                          Show this message and exit.
```

See [DANDI Handbook](https://www.dandiarchive.org/handbook/10_using_dandi/)
for examples on how to use this client in various use cases.

## Development/contributing

Please see [DEVELOPMENT.md](./DEVELOPMENT.md) file.

## 3rd party components included

### dandi/core/digests/dandietag.py

From <https://github.com/girder/django-s3-file-field> as of v0.1.1-10-g829b9b0
Copyright (c) 2019-2021 Kitware, Inc., Apache 2.0 license

### dandi/support/generatorify.py

From https://github.com/eric-wieser/generatorify, as of 7bd759ecf88f836ece6cdbcf7ce1074260c0c5ef
Copyright (c) 2019 Eric Wieser, MIT/Expat licensed.

### dandi/tests/skip.py

From https://github.com/ReproNim/reproman, as of v0.2.1-40-gf4f026d
Copyright (c) 2016-2020  ReproMan Team


