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

Uploaded Source

Built Distributions

tiledbsoma-1.14.2-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.2-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.2-cp311-cp311-macosx_11_0_arm64.whl (23.0 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.14.2-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.2-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.2-cp310-cp310-macosx_11_0_arm64.whl (23.0 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.14.2-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.2-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.2-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.2.tar.gz.

File metadata

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

File hashes

Hashes for tiledbsoma-1.14.2.tar.gz
Algorithm Hash digest
SHA256 a452abbd6f54da9f2aecbb95c9b8dc0f7029391f46773e669595b3f74e26ebfa
MD5 cc6d3e2b260c8e0a0cac72febf4d3882
BLAKE2b-256 a13f1b0c5c415447c0e691559e89d6893e496c736a9de990d9d92c770f27f23b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2d0af33bd3b9a352a03217dfd3f0cb2b8226f75e21a71f996a799897c49b9f2
MD5 860ce4a7d72da34f234a4100f7323c10
BLAKE2b-256 56a895fb7f823e9a4fe8f8d68d01b2131b22a329f2d55712229f54de2236c2b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 763adef5a2d665e7293e19be5bdbc07c96725402ef21736f8de288d056102879
MD5 63eb561c79b33261d7b8a61fcb916764
BLAKE2b-256 ea0b24ea0d51c2a62ad7e34a03f090981f27315c1ae567801d8df4b381396944

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eea7d7cd8dc8e9dce69acaa4b5f67340c6d369d49ff901f596bc7d58436adfdf
MD5 5a24273018fe840ca7ec7f47e3d8795e
BLAKE2b-256 c8ecdbf30ab6139b7aa338cb33d05a120223bf15a307169bc86d013986894eca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0191d6ff7c71fdd0d5c0003234f64e8c7e7eda546929f8aa409ef2a763f13abf
MD5 e928812d3a4669730ea2c9593d681cf4
BLAKE2b-256 979d438b3417a4b9c99bfffd6f7725310dfe0fa37467acf0da14f78726668049

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 6fc33f0f067a562b44efaa0d3fe50fae8e34abd298e2fb12aa801eadb1c6a12b
MD5 4246bd89e9a9eb0a940069f0db84150a
BLAKE2b-256 41b7d835eed834495a2b65d31896bde7affa737bdaf85e1e174c5c7c541564f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4dec53a5bf28ed9de2524aa88f2dc42f1a198ff1b16dc91ead97251df10dfd0f
MD5 16e2adda5e0bf26f3102a23edd615fd8
BLAKE2b-256 73f118cf30d987ed051511aa645ee5dddb18227ba9a11a4c763ac2996e1142f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 110c39660b4925943647dea4cea7ef3af650d387217bf7bc02ce32f61823f3b3
MD5 d10f751f1a04c8be24785cfdf319a304
BLAKE2b-256 501c45ec4390fd72058a424659378de3180db43c9cc2fa033c6c68cd9d18666e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9d6a023c54d4bbad26695001ee4a49cde3da82d119378fc7d4dfb9b4a14e170e
MD5 00bf6dca8ee7763da0cda82932bccf55
BLAKE2b-256 fbe22a62ba7e06375c0f168d00bca2604f0fd13de099562c419bae320a7ff577

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1939b11be5be59b0435c03238d78321ceddcf7b580c4a20d8baddc7d86e49995
MD5 3d94edd7603404399273ea86479ca63b
BLAKE2b-256 ca495440cbda322d51289cd76a15a8da6275b4ff5692ec5336fa163d6626fdc3

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