Skip to main content

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

Reason this release was yanked:

pip allowed an rc anndata dependency to be included, which was unfortunate

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.15.0rc1.tar.gz (591.2 kB view details)

Uploaded Source

Built Distributions

tiledbsoma-1.15.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.15.0rc1-cp311-cp311-macosx_11_0_x86_64.whl (26.0 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc1-cp311-cp311-macosx_11_0_arm64.whl (23.1 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.15.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.15.0rc1-cp310-cp310-macosx_11_0_x86_64.whl (26.0 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc1-cp310-cp310-macosx_11_0_arm64.whl (23.1 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.15.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.15.0rc1-cp39-cp39-macosx_11_0_x86_64.whl (26.0 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc1-cp39-cp39-macosx_11_0_arm64.whl (23.1 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

Details for the file tiledbsoma-1.15.0rc1.tar.gz.

File metadata

  • Download URL: tiledbsoma-1.15.0rc1.tar.gz
  • Upload date:
  • Size: 591.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for tiledbsoma-1.15.0rc1.tar.gz
Algorithm Hash digest
SHA256 a6a79114601ddfa4d10730e75e04b9fec4578a01987964b169115fa4cca457bf
MD5 1da75b6c8ea9c40d74369beeafdb5e53
BLAKE2b-256 52d2f0d403e0d87076112be57d4cd8526ce2c81a9693c3aa1738a1b6cb58d884

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03411e23ffcba7f30c595b72e3abede078716aaca27a371c002db4c4fa0470b5
MD5 628de24fdae4338633e79c1cde427156
BLAKE2b-256 1483b9d96fd80de6292def8269ff5ba46ce4ac02d25ad9920dbda566a66c63df

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc1-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc1-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 a8113bd557c00a3f11ce197bd265bc5b64cc7b36673503fe0e1f7d43015dccb7
MD5 0891abd6062f07e948a46c133971f9cf
BLAKE2b-256 e0866a18bb4b76a249e99f8aa5ba376a3d58137b98ffd725cda608fcdb4bed43

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ef5893398f1d2c4d8c06840d48d089092e451054f0a765607f01846b1f4e1ab
MD5 ab1853b614f2ceb9e791525c178f3974
BLAKE2b-256 9abb483eaf10feb4ff971a5d7e382639dd3b3404e314d130f8a4107623b38d9e

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 46980cc64f97fbdf2a39db9bac198eb7defc3927a9cc499803f2c2b67f931468
MD5 88efbc504cd5b67f089f3a95c628b250
BLAKE2b-256 9ed4c8751f4a2d99a4f4ea99d6cb9a96b46179a8a2d81d5f6fad754dcb3657e0

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc1-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc1-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 26b291b1c138e00d24ebefcd92df3da6a8277c3ea503a3bc7eeecf3735dac23a
MD5 4b0f49f58e9e93cf0e5a2a857908909f
BLAKE2b-256 7d657eeee9adf1ad693954a218ec58e672191657edbbc44cb84fd878dc871f44

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8410010a51ad05f5ca68ee6286108679ae561a08ffe967601590339554cbae48
MD5 2dcb9e893029da5a035125ba6d55130c
BLAKE2b-256 4badbc773550fe550226ddda28e8126fa565112d4608d1e0cfb7ad4a4cafabba

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19824df95d8837efd105cc8029ed67b70f62be3552958ad4dfd433b02464c03c
MD5 77c972f40dc7f5a8e739ead55066ba43
BLAKE2b-256 8e2828c9f6f2b5396fb6f25b8028e40eaccfcc1ad7aab0b2bc91a01d4b6f6b2f

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc1-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc1-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 3ed5b7cd4d2e892b3686e7fab6b5aeba79bc9c28469d43e4ae3b37ad093633ee
MD5 239ed0e72b758c55b0ebfd86e3a6334c
BLAKE2b-256 f2f0d004a1cbc1ff17d02d620b493d6eee5f79942d7b21a052b350f160ddbf52

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 14ddf03ac94bf5cd29e33bddcea782ba119025385241952dd52ae7bb9cedca26
MD5 0eccdabe708e0a83809a908d409012f9
BLAKE2b-256 669042e42c75046253903e7967479b5843ef1017646f7b8ea14916b73d741494

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