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.14.5.tar.gz (454.6 kB view details)

Uploaded Source

Built Distributions

tiledbsoma-1.14.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.14.5-cp311-cp311-macosx_11_0_x86_64.whl (25.9 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

tiledbsoma-1.14.5-cp311-cp311-macosx_11_0_arm64.whl (23.0 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.14.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.14.5-cp310-cp310-macosx_11_0_x86_64.whl (25.9 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

tiledbsoma-1.14.5-cp310-cp310-macosx_11_0_arm64.whl (23.0 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.14.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.14.5-cp39-cp39-macosx_11_0_x86_64.whl (25.9 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

tiledbsoma-1.14.5-cp39-cp39-macosx_11_0_arm64.whl (23.0 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for tiledbsoma-1.14.5.tar.gz
Algorithm Hash digest
SHA256 77a54647d2c8329b84a88303e915229dff81a62ecb46bd6d84cb931ca45d94ff
MD5 c705a783523ff7127549c23f92dbaa90
BLAKE2b-256 c8442642b0a8705df6896f63d57f8db72a49457f74721dd072afd5aacc408a0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 87f7afac29ef7d9f284cc1c1ed538b3f39380bee1bf7cf977a4c0c9dbf156c62
MD5 b767e0f6e4f1edbbc2e7a5d732176c43
BLAKE2b-256 c4da43839d2edad6f31a1315f671771bbddccabe7acfcf2556d39cdebbc54e9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.5-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 43e132a320f38aa1620b9189dda98375beffe99a9a5fd9a54b3fb994eef1cca9
MD5 8de3e1e0ae244a7fa8c3c6049c63d42c
BLAKE2b-256 be8659a200b017414935d169cbbdd6a70e2058cb00579a37967edbf24a81ffa4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8942ee6e024db2d9bbf5b8dd9070ea57ee3e66eb1827e7c6b945a7aeada9494b
MD5 a0d20e837d12c0de9dda8485725d2d4a
BLAKE2b-256 c2782eb8887a04096df2c3879b5e5566e7a7acff561e657f2d7b8d39f28df7a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a9210c6f953ad22085058d19ad32cf21c393414aa436afcd833c8b6ad2cd957
MD5 019a029551d1490370552333bb6a4592
BLAKE2b-256 ecc6fba3bd05c44543dd5552a2d847cadcfd3bdc72f665cbb424feb69ca04ce9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.5-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 de3c4c21dbfd21900d6602cbfaa3f49aa0b6e3a8fcc7e75d1e0b150f9cb18069
MD5 120dcf4a31a82dd51d6fffde476c1029
BLAKE2b-256 0be7a6cdc23c8f5fe561efd1601159515175b44336d0dde51ae788f607c998de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 28b73648d5dea11aa9fc99224000d95d791137710e5e3b1b356ae6ba38969e71
MD5 079bdf8509421d9d5f0530b664d754fa
BLAKE2b-256 09f5b864ac5ac3639d45b926544f1b7dcdf4d69f57bdd930b82ccf17e6dccfbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dd4d319cf4fac814854e747bdcd8f9ea0869183b80fd3c1d49bdf31e16a64f1f
MD5 ead2f1fa2b7bfddcf1622e48ec699d44
BLAKE2b-256 c58a121650c183889bfc09d5a4fe3425bb5398fed17aee60b68913f818bf038b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.5-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9205bf718d561fc5fbee9590ba44e434a9f6c65a50eb037e7e8521f71bb12c05
MD5 6c3b7b675dfc6e80f9cdd983ab0c3067
BLAKE2b-256 851e9c3459480561b0279d1d285e1daafbca19ddb61a286ac6744edb0a173c64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 737d1b2699298171101a00879f66c18c0b68fb1746822123d0b8bc541febc3be
MD5 9b9c3021c7d28fc3d39b056fc5ca6706
BLAKE2b-256 0b4f27efa7885b6f88566e45a60923515bcbf073f8ea1782cea45a8e6a07eeab

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