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.13.1rc0.tar.gz (430.2 kB view details)

Uploaded Source

Built Distributions

tiledbsoma-1.13.1rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.13.1rc0-cp311-cp311-macosx_11_0_x86_64.whl (24.9 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

tiledbsoma-1.13.1rc0-cp311-cp311-macosx_11_0_arm64.whl (22.1 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.13.1rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.13.1rc0-cp310-cp310-macosx_11_0_x86_64.whl (24.9 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

tiledbsoma-1.13.1rc0-cp310-cp310-macosx_11_0_arm64.whl (22.1 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.13.1rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.13.1rc0-cp39-cp39-macosx_11_0_x86_64.whl (24.9 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

tiledbsoma-1.13.1rc0-cp39-cp39-macosx_11_0_arm64.whl (22.1 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tiledbsoma-1.13.1rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.13.1rc0-cp38-cp38-macosx_11_0_x86_64.whl (24.9 MB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

tiledbsoma-1.13.1rc0-cp38-cp38-macosx_11_0_arm64.whl (22.1 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

File details

Details for the file tiledbsoma-1.13.1rc0.tar.gz.

File metadata

  • Download URL: tiledbsoma-1.13.1rc0.tar.gz
  • Upload date:
  • Size: 430.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for tiledbsoma-1.13.1rc0.tar.gz
Algorithm Hash digest
SHA256 0e3efa31640ce63a895df88696cfdbf4284925caf2133162406eca6ec98d11d6
MD5 551721ff6bf128181babfd02b40f4e86
BLAKE2b-256 38c7551d66ae410de4b3b1a6d0214ff2c7ec91c720a4b5cde1a751c774fc2714

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.13.1rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.13.1rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26004b6df3c8d282a62c3f9db2fb4e6a562d193741b006ea2e836c34d78183ae
MD5 63176980a49da5b97868883796a48d3c
BLAKE2b-256 9227f523c7ae035e98815103575ce0c0aaff62e2c75d592a524d379b23bccfb1

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.13.1rc0-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.13.1rc0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 4d7db90f1887eb9fb39eddc4bc07c6d0bd61b7793da0494d155f4adecddd8a60
MD5 2b16155fe8f706ce4642dca5430bef0e
BLAKE2b-256 4514f34b0ee8a437a656c81d4adf6909a70a077f8793b221070b52d9a0378fdf

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.13.1rc0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.13.1rc0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7bd69372d9b79357de70d1cb7cb268154d7f98684d409ded265c7b2ac2cb3f79
MD5 e26d5568099c92d726e020847652921c
BLAKE2b-256 5cf0a5e86811ba78b83a9ca4ff8b1675964e21e75ba0ea4499e7ad01ec4b2946

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.13.1rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.13.1rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eedfc34e1c1790a950b304f8d3ea0c31af201c86fc6da07cdb59b71e0aa0ebd6
MD5 00b9918c36d1e06e079c62acf129029a
BLAKE2b-256 cc1528287939f466e4a8edb2c06b7976c2a59e4f2c3992cf544f9af862c8c8b0

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.13.1rc0-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.13.1rc0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 3f9ed8bc4aeb27496f5bd691cffbb943100e20c30f52ea0aac9d5b2f5db816b6
MD5 294384ea09793859f8889cbee8fc8a8c
BLAKE2b-256 3961ca6a8b1b5558f5505cd675bf3caa99645e133dbf572e54c1ba1f53ee7269

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.13.1rc0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.13.1rc0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 222bfb02403586d28d76d7c34d7aac3ed2e6b430526d52a47580e6f4d426e0f4
MD5 275ef57b783b8955db26e2bd5209fa48
BLAKE2b-256 35a1d388d8c312bdc980b503177479c4f5046d72ed7e23c01895a716f5cb4f60

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.13.1rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.13.1rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d513a69046cdd9e0c5b3ab7525ad3dc7cfce5437ced6981baf60cefca656589
MD5 92355ce0d7204c1557f928de9755c4bf
BLAKE2b-256 4a435625b4dc7e1b05aa947ed6b43443d222fb1e94c0537eb61a56cec22d3a15

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.13.1rc0-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.13.1rc0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 50d8bb9e9de69037210e9e1f4dbdb0809273323120ae249e16a7e35d13413a04
MD5 1eaa01afc5dd42d413177507a52e0cf6
BLAKE2b-256 fd4d3077a60d13eff345bab1ed0c47f7c25a593c749cd98e1bceb7566b76dfff

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.13.1rc0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.13.1rc0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05a570f0b2537cdc4742f02664b80afaf6ecbcfeb011aecdd11a006ffe40fa5a
MD5 83eb4cd0cb903f94b9b0380d7740eafe
BLAKE2b-256 1deb35aacb5b6a23b3e93104eab3a8f20a6d84c94fcad9a70aea100309d93c78

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.13.1rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.13.1rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2ed9f835b8096b5cf572152d7be4d69ce842eae7d6f2f3ac1f4182532b6dfc85
MD5 7734aa0b9f6cff6984f0f565645b11ed
BLAKE2b-256 ed3e2471f701967fa6c0030342af9c24ba3d2256d72642f6051d4b2ab58d254d

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.13.1rc0-cp38-cp38-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.13.1rc0-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 f43ac08cb1b2e82732a429e459a243650e63fcf2c3459d7bb252420167e8b866
MD5 460da26c7cb1dffcc3b2583fc11371d4
BLAKE2b-256 a84e393807996b44fbf1f1acd009410e22c655aff0bc3cb12c5ef6ad40cd74be

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.13.1rc0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.13.1rc0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 092a6ae89432ef0efcb049b2643733027aab2cf36ba53c6ffaf154330bd839b2
MD5 faf5e8d3ae2762509d765449177900bf
BLAKE2b-256 8c7b54a3e58b849b32cfa4e024becf7abf0b1c7bc505ae1be53c60cdd6d794e6

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