Skip to main content

Python API for efficient storage and retrieval of single-cell data using TileDB

Project description

Overview

This is a Python implementation of the SOMA API specification for interacting with the Unified Single-cell Data Model.

Installation

TileDB-SOMA is available on PyPI and Conda, and can be installed via pip or mamba as indicated below.

python -m pip install tiledbsoma
mamba install -c conda-forge -c tiledb tiledbsoma-py

To install a specific version:

$ python -m pip install git+https://github.com/single-cell-data/TileDB-SOMA.git@0.0.6#subdirectory=apis/python

To update to the latest version:

$ python -m pip install --upgrade tiledbsoma

In case of illegal instruction errors when running on older architectures --- e.g. Opteron, non-AVX2 --- the issue is that the pre-compiled binaries available at Conda or PyPI aren't targeted for all processor variants over time. You can install from source, as shown below.

To see if this is the issue, on Linux:

grep avx2 /proc/cpuinfo

If this comes up empty for your system, you'll definitely need to build from source to run TileDB-SOMA on that system.

From source

  • This requires tiledb (see ./setup.cfg for version), in addition to other dependencies in setup.cfg.
  • Clone this repo
  • cd into your checkout and then cd apis/python
  • python -m pip install .
  • Or, if you wish to modify the code and run it, python -m pip install -v -e .
  • If the TileDB and TileDB-SOMA libraries are locally installed to a custom directory, such as /usr/local, set the path with environment variables TILEDB_PATH and TILEDBSOMA_PATH, TILEDB_PATH=/usr/local python -m pip install -v -e .
  • Optionally, if you prefer, you can run that inside venv:
    $ python -m venv venv
    $ . ./venv/bin/activate
    $ python -m pip install -v -e .
    
  • In either case:
    python -m pytest tests
    

Status

Please see https://github.com/single-cell-data/TileDB-SOMA/issues.

platform_config format

When accessing SOMA APIs, TileDB-specific settings can be configured with the platform_config parameter. The options accepted by TileDB SOMA are described here, using TypeScript interface syntax:

interface PlatformConfig {
  tiledb?: TDBConfig;
}

interface TDBConfig {
  create?: TDBCreateOptions;
}

interface TDBCreateOptions {
  dims?: { [dim: string]: TDBDimension };
  attrs?: { [attr: string]: TDBAttr };
  allows_duplicates?: bool;

  offsets_filters?: TDBFilter[];
  validity_filters?: TDBFilter[];

  capacity?: number;
  cell_order?: string;
  tile_order?: string;
}

interface TDBDimension {
  filters?: TDBFilter[];
  tile?: number;
}

interface TDBAttr {
  filters?: TDBFilter[];
}

/**
 * Either the name of a filter (in which case it will use
 * the default arguments) or a specification with filter args.
 */
type TDBFilter = string | TDBFilterSpec;

interface TDBFilterSpec {
  /** The name of the filter. */
  _name: string;
  /** kwargs that are passed when constructing the filter. */
  [kwarg: string]: any;
}

Information for developers

Please see the TileDB-SOMA wiki.

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

tiledbsoma-1.12.0.tar.gz (421.8 kB view details)

Uploaded Source

Built Distributions

tiledbsoma-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.12.0-cp311-cp311-macosx_11_0_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

tiledbsoma-1.12.0-cp311-cp311-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.12.0-cp310-cp310-macosx_11_0_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

tiledbsoma-1.12.0-cp310-cp310-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.12.0-cp39-cp39-macosx_11_0_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

tiledbsoma-1.12.0-cp39-cp39-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tiledbsoma-1.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.12.0-cp38-cp38-macosx_11_0_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

tiledbsoma-1.12.0-cp38-cp38-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

File details

Details for the file tiledbsoma-1.12.0.tar.gz.

File metadata

  • Download URL: tiledbsoma-1.12.0.tar.gz
  • Upload date:
  • Size: 421.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for tiledbsoma-1.12.0.tar.gz
Algorithm Hash digest
SHA256 8e0e510ce7d9b6d4e5697262491ae770183103f27e3fb652ef188ecdb650f4d1
MD5 71f25262f55253bbee41b889baa611f4
BLAKE2b-256 8f07c93a61fd386a5df3a06867809beabca369a7f73afa2137b72475d5ef62ba

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 18ad724a11a30082e039f4921de89f95a3accb3874f79d1d2cc51aaae171cc4b
MD5 d33d695d24b1924816f57df2260d395b
BLAKE2b-256 46c722e5f3797170aabe94b2af3dd53365b51516744308ad3a9fd68c3cd1dcb4

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.0-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 81e25f60d71fcd580358e50530b81b1ae6f8703068a1637940e48c9d8fc21800
MD5 4c4e519387d6d1a9842d0110078d7a04
BLAKE2b-256 2fcd512df4bf41866f5b66e8ff7bea6b7e272325da5cf9cd2a44da380cbfa121

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 23b1cd08ee24cac6312df65ee3fbef1b242e518989bcb89e9567d164ec365faf
MD5 09c71241cfcad461614767719fbc9bb0
BLAKE2b-256 fb8ba8bb7cf43309500011392bf8e75b6fc20d517e0d28a8b3387f72cba0e88a

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 55f6fd692a247ccc726ea3e120cc014e236710f9049e5dc5685b4eae0f8f3bbd
MD5 46c972a76285a6e83e80650f873702e3
BLAKE2b-256 57a53c08aa0db1ddbccec386e32637a091c04f7c4821681b641ff15f4cabfea6

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.0-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9bb28c90a7d1e939d97a003d45d9cecb1c19725300c5b3cfc99188217197e779
MD5 7f74c15e7e18909b13e7f183b8862610
BLAKE2b-256 274917d7a6f91695e2af8828d89b36f8be954915585684bbdc908c5944cf3ddc

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 346a2ac87fd7df3b7cbdacaffbd14e25a65c157a103055b9732d1e42d049c069
MD5 fe5eed89a0f431d4c8943f34afad405a
BLAKE2b-256 1294a998082f72f5bb950fbd8509b2f2e3acb0f8f75edc6e4c101bd719d4d151

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f85eb184a0501ca7d6188ab122b4a19121df3a48cde592692fae34bf5f842fa
MD5 be8abbe8960bf98f3453f3652d6eb111
BLAKE2b-256 687ed3245bc0d93e97befa690b97d452d322687c3bcb366a54db2f4bb0079c06

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.0-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 32046223256b6a43be2c6e51093766281aadabede43acfc749565163d4df83bc
MD5 4a88961a873a90bc8d4afefc2ce8a54d
BLAKE2b-256 a5cca824be945def1a07a67daaa4cce4558c2666556de566c8d72e219b83ee94

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d901087a29740b21e5bbc7299cb44dc10f931649508035f73c9b82d1dffd84a
MD5 cb90ff0c8a96a96015862e9871b1f14a
BLAKE2b-256 342a2c1ff2c04028f5ec673a2f6001711c6608c19092736d0f55c70879dc9341

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f509a9202225f82454c479853d9e493d3bfcc76d110f787c4bce57734586385
MD5 311f27813d86a16e0a0598fa29d0a612
BLAKE2b-256 944b0207aae67cbc5665f0d6f28153c0abc80dd9e1f61ab3f02f2b5bcecd535a

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.0-cp38-cp38-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.0-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 49b091dd39f7cd86b8649aa42819fb29cf8ab1fd1a1461146cf330f5fe18a280
MD5 91dc070debaa857c1e93c67ee78800e5
BLAKE2b-256 e09c746d7b5b1dbe137822716d00a541ebf49beeded70566fa8c58e48ea0fa6c

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 708d0737da1ca26f33382e69557459a62d286106d75814de0c0724d4e9323ddd
MD5 c8e0fbf5db6684cb3d2f111998e7dc2f
BLAKE2b-256 4610158e334a9c1871bf923bf6adf5cb14f048097880de0c496bb84571bb2984

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