Skip to main content

TileDB Cloud platform Python client

Project description

TileDB-Cloud-Py

This repository contains the Python client for the TileDB Cloud Service.

Quick Links

Installation

See Installation Instructions

Quickstart

See Quickstart section of the docs.

API Documentation

See https://tiledb-inc.github.io/TileDB-Cloud-Py/

Contribute to documentation

Documentation uses Quarto style documentation.

Testing

  • Selection:
    • All tests: pytest
    • All tests with verbosity: pytest -vs
    • Tests with taskgraphs in their names: pytest -vsk taskgraphs
  • Credentials:
    • These tests run on TileDB Cloud using your current environment variable TILEDB_REST_TOKEN -- you will need a valid API token for the tests to pass
    • For continuous integration, the token is configured for the unittest user and all tests should pass
    • For interactive use, if your TILEDB_REST_TOKEN points to your own account, most tests will run, except for those that explicitly check against contents of the unittest account which are skipped

Ingestion testing

This package contains modules and functions that will be run in the TileDB Cloud as UDFs. Local ingestor changes can be tested in the cloud by using a feature of cloudpickle. Below is a runnable example. TILEDB_NAMESPACE is your TileDB namespace ("TileDB-Inc", for example). TILEDB_ACCESS_CREDENTIAL_NAME is the name of the stored credentials for accessing AWS_BUCKET. IMAGE_FILE_KEY is the key for an object in that bucket and OUTPUT_GROUP_KEY is the key to be used for the group that the ingest() UDF will create in AWS_BUCKET.

from tiledb.cloud._vendor import cloudpickle

import tiledb.cloud.bioimg

cloudpickle.register_pickle_by_value(tiledb.cloud.bioimg)

tiledb.cloud.bioimg.ingest(
    source="s3://AWS_BUCKET/IMAGE_FILE_KEY",
    output="s3://AWS_BUCKET/OUTPUT_GROUP_KEY",
    config=None,
    namespace="TILEDB_NAMESPACE",
    acn="TILEDB_ACCESS_CREDENTIAL_NAME",
    ingest_resources={"cpu": "8", "memory": "32Gi"},
)

In this case tiledb.cloud.bioimg.ingest() uses cloudpickle to send a local function to TileDB Cloud, and tdbcp.register_pickle_by_value(tiledb.cloud.bioimg) directs cloudpickle to bring the currently imported tiledb.cloud.bioimg module along with the function. Your local version of the module will be used instead of the version currently deployed in TileDB Cloud.

Note: your local changes to the Cloud-Py package will need to be installed in order for cloudpickle to serialize them, as cloudpickle needs to find them at runtime.

Releasing

Releasing is entirely automated. Releases made on GitHub using tags that start with "v", like "v0.12.28", trigger sdist and wheel builds and upload of those distributions to the Python Package Index.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

tiledb_cloud-0.13.0.tar.gz (449.6 kB view details)

Uploaded Source

Built Distribution

tiledb_cloud-0.13.0-py3-none-any.whl (845.0 kB view details)

Uploaded Python 3

File details

Details for the file tiledb_cloud-0.13.0.tar.gz.

File metadata

  • Download URL: tiledb_cloud-0.13.0.tar.gz
  • Upload date:
  • Size: 449.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for tiledb_cloud-0.13.0.tar.gz
Algorithm Hash digest
SHA256 2e918bd895fb8f996c1467ec47173823c4d11d0da1db82329eea9ef124187aa6
MD5 7e2d7b226572f2113eb38c97268ac4db
BLAKE2b-256 fb86427742a2f915fe3c8d18391fac11cf3ce4acb49770477b223de460b84fb2

See more details on using hashes here.

File details

Details for the file tiledb_cloud-0.13.0-py3-none-any.whl.

File metadata

  • Download URL: tiledb_cloud-0.13.0-py3-none-any.whl
  • Upload date:
  • Size: 845.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for tiledb_cloud-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e230c3f813f66fe5aab2699389e975400ac3065b95a49f113b737fb1996e40af
MD5 8f254dbb291052b23bde4c9288e7ad27
BLAKE2b-256 c04f4433b9492e6da43ee06f1ed9a1b98ece4b517c91004785067d36ea113ea4

See more details on using hashes here.

Supported by

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