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:
    make data
    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.0rc3.tar.gz (622.2 kB view details)

Uploaded Source

Built Distributions

tiledbsoma-1.15.0rc3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.9 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.15.0rc3-cp312-cp312-macosx_11_0_x86_64.whl (26.4 MB view details)

Uploaded CPython 3.12 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc3-cp312-cp312-macosx_11_0_arm64.whl (23.3 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

tiledbsoma-1.15.0rc3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.15.0rc3-cp311-cp311-macosx_11_0_x86_64.whl (26.4 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc3-cp311-cp311-macosx_11_0_arm64.whl (23.3 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.15.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.15.0rc3-cp310-cp310-macosx_11_0_x86_64.whl (26.4 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc3-cp310-cp310-macosx_11_0_arm64.whl (23.3 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.15.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.15.0rc3-cp39-cp39-macosx_11_0_x86_64.whl (26.4 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc3-cp39-cp39-macosx_11_0_arm64.whl (23.3 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: tiledbsoma-1.15.0rc3.tar.gz
  • Upload date:
  • Size: 622.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.0rc3.tar.gz
Algorithm Hash digest
SHA256 bf9275bb903674865f3a047c3643a62bb5f1472ea9cdb69dac4ae5ec720f2f68
MD5 159adb763e64d8b36df6fb6a449253d6
BLAKE2b-256 af0b6d83290cc4b72566000036597750b85ef7658e850685e3653c6024ea559f

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fbc965010249a056e98fbd87bee5f5ffddce3e70ffe8c16b46343850397c6f84
MD5 f92f8abf0a7462681acc3695a124108c
BLAKE2b-256 89f243e112c5f9fabb7c9f5211b72105addf5152e19b952540d05425aede6531

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc3-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc3-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 3a2949447592b14de8f79fb4e43e89d9d646f73dd74d729f4e82779d77f98f50
MD5 63ef6e5664b50052b7e1506eddbdfc7a
BLAKE2b-256 6f3d53b47c433ef45906c5935179c17200823ef17ba1d7216bac389d64395795

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 666aba7649aba35a6cf75adea0523f3625f7e09ab89490d90fb03e29b32d5c0d
MD5 d5bdf83e91b0a17bbc03648efeb766fb
BLAKE2b-256 01edcbf3b64e6c8c0ccd28c0a106055afd9fad56319922fbe3559aea80a58370

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a07ca8be7c71d0f7d32c21c64771531f446d152ec7f01a91f257c666cf709eb
MD5 c97830fe10fb6fbd68a3a3cdea57c0ac
BLAKE2b-256 3fce22dc0b47c1cf12842fef59ca052e34ac81c79af46d11129ac5366fa3a054

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc3-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 ad532639b7fc5f58c48f19029fda146489f41bd951244d575a7a7c19658a65f6
MD5 8f54ad3b64b3a9ccc5d1cde83181e937
BLAKE2b-256 e58345abf03f7fe997e9f15ac73854b57cfce9e04f74b962336a2e49398f343e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d166aa1919c6cfb65d87f9213c18fe30c02f8e1949b9df4767c115edd3615559
MD5 30a3053365e0a6130ee4c4ec18f92895
BLAKE2b-256 6a216b011f359ca351fd62aba9f1c05ae5fe6709dd0b75fa0ad5eddf7cde3b22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 61d466970075e9322388c629c776f0e46221962b6c094dde975619d7fce7da1b
MD5 e8afaaec80237dbe220453e811a02f5f
BLAKE2b-256 5ae4e1a64d04cf9b971678c699c0db670b8c23e3c2286250c1c5b8919cb0e75b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc3-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 3ff07c88e144ef69377a743a205d35c33e0d6930ec1faf309488ce20bd5d164e
MD5 1244cca07c0660a36c6bffb4606de4d7
BLAKE2b-256 8ff9a1063dc8cfaf4712da85fa8c1e36eadfcbb9420fbe3edc6eeee55c59b610

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a52769fe3faa7cd85d97c8e553fdad62abcfcbf4783532c5a9e4a80a10df2e11
MD5 b96f954301daa7fca4a1fc6b94f76b02
BLAKE2b-256 8ea517d37d884bb50c0fdcda76d79c2635432873aa33dde1e02abc712a40b04b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 82ce27e7e96b0b32670ea916486f620d730bf8db6a3717784e1adde17619b78e
MD5 d46e254ac2a50dde4bf0fc9cad6669ed
BLAKE2b-256 e1b250e4239b96717a770d91b827a2a676cd594a449533ad8514cd6411893b25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc3-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 bd5f1b48a9a206896d36a25177711901b51059a8de7ff2ecbe811dd285758898
MD5 22b54b1e34651de7272e5c1cf9bc3d4a
BLAKE2b-256 28e52101a5fa0b3bdcd038b218c45a7fb83c518881c1b020e937737a10c4e9b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2357da681a7da289d3e224f247831c7decf282ba0203b861c58f7a11e0497599
MD5 7f2d3000f1f2e296674ba919c0a07cdd
BLAKE2b-256 6770d84b0493746003f2c089474e682a07493066a707f8149685a00c182300bc

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