Skip to main content

The Universal Data Client command-line tool

Project description

UDC

The Universal Data Client

What is UDC?

Universal Data is an open source initiative to build a decentralized, cryptographically-secure ecosystem containerizing both structured and unstructured data.

UDC is the initial (alpha) client for that system. It currently supports both Quilt and Benchling URIs. For example:

  • udc list "quilt+s3://quilt-example#package=examples/wellplates"
  • udc patch "benchling+https://dtt.benchling.com?name=Update#type=Entry&id=etr_123"

Installation

NOTE: UDC requires Python 3.10 or higher. You can check your version with python3 --version. If you have an older version, you will need to update your environment to a newer version of Python.

Production Package

From PyPi:

python3 -m pip install udc # OR
python3 -m pip install --upgrade udc
which udc

Development Branch

python3 -m pip install git+https://github.com/data-yaml/udc.git@main

Cloned

When cloned from GitHub:

poetry install

<--

alias udc="poetry run udc"

-->

Usage

udc # prints help

List contents of a specific package instance

udc list "quilt+s3://quilt-example#package=examples/wellplates@6782cf98a2"

e.g.,

"quilt+s3://quilt-example#package=examples/wellplates@6782cf98a2&path=README.md"
"quilt+s3://quilt-example#package=examples/wellplates@6782cf98a2&path=autoplate_H1N1.csv"
"quilt+s3://quilt-example#package=examples/wellplates@6782cf98a2&path=data_products.ipynb"
"quilt+s3://quilt-example#package=examples/wellplates@6782cf98a2&path=neutralisation-altair.json"
"quilt+s3://quilt-example#package=examples/wellplates@6782cf98a2&path=neutralisation.json"
"quilt+s3://quilt-example#package=examples/wellplates@6782cf98a2&path=quilt_summarize.json"
"quilt+s3://quilt-example#package=examples/wellplates@6782cf98a2&path=render.html"

List all versions of a package

udc list "quilt+s3://quilt-example#package=examples/wellplates" | head -n 1

e.g.,

"quilt+s3://quilt-example#package=examples/wellplates@6782cf98a2c600f4c519efd5de868d5ef1e05ac92fcb0fa56044bb8c925c5f02"

List all packages in a registry

udc list quilt+s3://quilt-example | head -n 1

e.g.,

"quilt+s3://quilt-example#package=akarve/amazon-reviews:latest"

Get a package into a specific directory

You can also use put (replace) and patch (merge) if you have write access.

udc get "quilt+s3://quilt-example#package=examples/wellplates@6782cf98a2" --dir /tmp/wellplates

Checking the download directory:

ls /tmp/wellplates

Should reveal the following output:

README.md
autoplate_H1N1.csv
data_products.ipynb
neutralisation-altair.json
neutralisation.json
quilt_summarize.json
render.html

Development

Testing

make test

Continuous Monitoring

make watch

Create Package

WARNING: Do this only if you are the maintainer of the package.

Be sure you to first set your ~/.pypirc using poetry config pypi-token.pypi <pypi-api-token>

# merge PR
make tag
make pypi
poetry publish

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

udc-0.3.3.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

udc-0.3.3-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file udc-0.3.3.tar.gz.

File metadata

  • Download URL: udc-0.3.3.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.0 CPython/3.10.11 Darwin/22.5.0

File hashes

Hashes for udc-0.3.3.tar.gz
Algorithm Hash digest
SHA256 d21bb5313ef23f54ce2c259a059b2cf61ba753ae2d4050ef3dd3011b7de05af3
MD5 2a22af6f60cd9139e51f901aa52fd7e5
BLAKE2b-256 bdc58812867c7f78e7e11da5e87bf7de980f7c5df2a9a0db2450935d6253abeb

See more details on using hashes here.

File details

Details for the file udc-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: udc-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.0 CPython/3.10.11 Darwin/22.5.0

File hashes

Hashes for udc-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f6eea817a56ef011146386fcd85c608ef7d7fe97236beba1d16e61a33ef5836e
MD5 835c660d5e0240c94971ca7a754dd5d2
BLAKE2b-256 c79c51c9af1f48cde032fd11d6219ee75458acec19dfe14e17e674a7f90bea76

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