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

Uploaded Source

Built Distributions

tiledbsoma-1.15.0rc2-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.0rc2-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.0rc2-cp311-cp311-macosx_11_0_arm64.whl (23.1 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.15.0rc2-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.0rc2-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.0rc2-cp310-cp310-macosx_11_0_arm64.whl (23.1 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.15.0rc2-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.0rc2-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.0rc2-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.0rc2.tar.gz.

File metadata

  • Download URL: tiledbsoma-1.15.0rc2.tar.gz
  • Upload date:
  • Size: 591.3 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.0rc2.tar.gz
Algorithm Hash digest
SHA256 67112eb1e8c5796975a63ad238368a6d8d1fd6e34b084c785a7111b262c701c4
MD5 fcc1a37d031234caf5bb40d3987d32b7
BLAKE2b-256 369d53dec61b79740d6290b00c2301ec21e1e06c9dcb1852856e4dccb3cae544

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 460abeaca3433202a5307bbb87ae613679bc694a9d08a3d80ad78c6032804dae
MD5 eb69816e69cdcc42b0b174a6eb29c98a
BLAKE2b-256 24f47128c0ef49ed20cebe75d9c4f93cf9baa518373bdb5dddfef7661d8ee187

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc2-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 1efda6ab5687b07c006c482728ab39a3a870ad1414eb985d30ccbe970ed2b9f7
MD5 ab9fbc6931190eba802b4045ba451bd2
BLAKE2b-256 573782026f17b782cfe316912bd076bbadb5734ac9a129b878b7b2d92633eaf3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1876c0d919325a5712ad0d565184c6a729271f3458e92fd1f621cd86be711635
MD5 49ef9f04a2d4db96dc8a6abc527557d2
BLAKE2b-256 15f054e4bcc1b08ab2c83a1a2ea90dd033c54c4207ddf19518c3b94a0bbe600c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cdb3eeff624879e6ee8535d6bc25c431cfe91f0410f4ca4dd61f2f4e0fbad40a
MD5 a6e493d81a38f930e9b16fdcac54ce98
BLAKE2b-256 ba3b83b7590f3545797812dcbfeebd1a57446656f8855439a0bb50d241beb762

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc2-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 981f9cc2a982a157fa47befc2ec5a80f7a9cf7a8ae1e3ec74e4d79629eff2f5c
MD5 df1db55ca4f8b6a27909220aa3e70114
BLAKE2b-256 bc6873d8f3930be5f4b0e348faa8b1489f775c2a4688bcc86acfd458b09762ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0611792ef007a6c374bcc96e9024940c370930844913243c553cd84f1561845a
MD5 8b161fb8a2d7cc8164d9c6a8e3c53cd0
BLAKE2b-256 6b09a8d3b59153751b5a3cfdac5e6fa626417e8f8c5b0402bd4bc5350caa4e93

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4b610b90da16a2638b7ca694c68d2e0d5d277d0d7d0d2c887858a936525e476c
MD5 e6f77fed2fee4b21646e14c4f06f30b4
BLAKE2b-256 3b252cfadbd1ebd3d5dce32abb90b6f8ebaff9f01a89ec96c0c4a92fdfa04d43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc2-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 0333164388663c2d4856d6dce03521c3d69fe9ca8ee4df9c60a6c83d0e653efb
MD5 ca8bb6bb39ba41f2c2616e6ddfe9f561
BLAKE2b-256 62974ad5449da3ea6d704a9fadaa9f0706890fbf30ffbc70f54ba9ebd4121c8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0fabe1385692f2f33f3feb07d37943679986e0941a000b20c932979c243eff7e
MD5 0ee89cec4e37f968d86b5f47ab535074
BLAKE2b-256 5b4001c19a0da97ee89e337b17be6694988545dfd79ab43a38cb1cf953152553

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