Skip to main content

Accelerated Discovery Reusable Components.

Project description

Storage Access Reusable Component

The central implementation of Accelerated Discover Reusable Components. It serves as a wrapper around Dapr and intended to replace the long implementations of dapr-related functionality in your kubeflow pipelines.

Installation

All components will be availble using

pip install ad-components

CLI

Here's an example usage of the CLI

usage: adc [-h] [--verbose] [--version] {<component>} ...

Accelerated Discovery reusable components.

positional arguments:
  <component>    the component that you want to trigger.

optional arguments:
  -h, --help     show this help message and exit.
  --verbose, -v  run the script in debug mode.
  --version      show program's version number and exit.

1. Supported components

1.1. Storage

1.1.1. Supported operations

Below is a list of the operations you might intend to perform in your component.

Upload

Uploads data from a file to an object in a bucket.

Arguments
  • src: Name of file to download.
  • dest: Object name in the bucket.
  • binding: The name of the binding to perform the operation.
Download

Downloads data of an object to file.

Arguments
  • src: Object name in the bucket.
  • dest: Name of file to download.
  • binding: The name of the binding to perform the operation.
Dapr configurations
  • address: Dapr Runtime gRPC endpoint address.
  • timeout: Value in seconds we should wait for sidecar to come up

2. Usage

2.1 Storage

4.2 Python module

You can invoke the manager using native python. Please note that the package must be present in you python environment.

from ad.storage import download, upload

download_resp = download(
    src, dest,
    # binding_name="s3-state",  # Or any other binding
    # address=None, # endpoint:port
    # timeout=300,  # in seconds
)

upload_resp = upload(
    src, dest,
    # binding_name="s3-state",  # Or any other binding
    # address=None, # endpoint:port
    # timeout=300,  # in seconds
)

4.3 CLI

usage: adc storage [-h] --src PATH --dest PATH [--binding NAME] [--timeout SEC] {download,upload}

positional arguments:
  {download,upload}     action to be performed on data.

optional arguments:
  -h, --help            show this help message and exit

action arguments:
  --src PATH, -r PATH   path of file to perform action on.
  --dest PATH, -d PATH  object's desired full path in the destination.
  --binding NAME, -b NAME
                        the name of the binding as defined in the components.

dapr arguments:
  --timeout SEC, -t SEC
                        value in seconds we should wait for sidecar to come up.

Note: You can replace adc with python ad/main.py ... if you don't have the package installed in your python environment.

Examples
  1. To download an object from S3 run
adc storage download \
    --src test.txt \
    --dest tmp/downloaded.txt \
    --verbose
  1. To upload an object to S3 run
adc storage upload \
    --src tmp/downloaded.txt \
    --dest local/uploaded.txt \
    --verbose

3. Verbose mode

If you want to run the script in verbose mode you can append --verbose or -v to the command.

4. Publishing

Every change to the python script requires to be pushed to a PyPi registry.

If you have the right (write) permissions, and a correctly-configured $HOME/.pypirc file, run the following command to publish the package

make

Note: We will run the install target to confirm the package is installable before publishing it to our PyPi registry.

Increment the version

To increment the version, go to adstorage/version.py and increment the version there. Both the setup.py and the CLI will read the new version correctly.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

ad_components-0.1.9-py3.9.egg (16.9 kB view details)

Uploaded Source

ad_components-0.1.9-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file ad_components-0.1.9-py3.9.egg.

File metadata

  • Download URL: ad_components-0.1.9-py3.9.egg
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for ad_components-0.1.9-py3.9.egg
Algorithm Hash digest
SHA256 8ea2252a27d80daab01e173bd0dd110f5c82dc36511f7d811e141f4235034c5b
MD5 4e4c82c61199ef99a200c7b7f82f9edc
BLAKE2b-256 17c47d421b50efee116803cdf84a1a163361a5c0e4fbf0409c016ea1f0a2ff48

See more details on using hashes here.

File details

Details for the file ad_components-0.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for ad_components-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 f48a4646ade4bfe64565e3b84521ce7cf30db35c6e5e03aebb165c907850d8a2
MD5 b79004c1fdb690af1b62ddd40ec1477b
BLAKE2b-256 f2eab2e9f92c5ed5adabcbea226a14b6f7487de5ffee5c19894c65afeb66acbe

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