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

Uploaded Source

Built Distributions

tiledbsoma-1.12.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.12.3-cp311-cp311-macosx_11_0_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

tiledbsoma-1.12.3-cp311-cp311-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.12.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.12.3-cp310-cp310-macosx_11_0_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

tiledbsoma-1.12.3-cp310-cp310-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.12.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.12.3-cp39-cp39-macosx_11_0_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

tiledbsoma-1.12.3-cp39-cp39-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tiledbsoma-1.12.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.12.3-cp38-cp38-macosx_11_0_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

tiledbsoma-1.12.3-cp38-cp38-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: tiledbsoma-1.12.3.tar.gz
  • Upload date:
  • Size: 421.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for tiledbsoma-1.12.3.tar.gz
Algorithm Hash digest
SHA256 6c9a1e0ada17793e68160ff4f1f4cdde26a385ce5d8309992e64fd52a9a6222f
MD5 8ec5e3658334a791d28d92a38cfa4e5f
BLAKE2b-256 1cc7d850321a6bc9e7fdb38f135f1ea7a8c88bb82f511e3607cd64d3a785bcf0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd6aac9f8a6107b9a148c43cb003466e3ab8ce2ad340720b9d7e61d5220e00b4
MD5 e9f6449f20b909b5372e991d9199f63a
BLAKE2b-256 e98f63faff94276384632ba7060cf3cf07359e915e81449e3d4dc39a7f50ec52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.3-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 8dbd671beebd99cd1106647ff00ce786738b736cbb5623e469e8de756adb1306
MD5 a1e77a83c48f27d95b8eede08774c51b
BLAKE2b-256 2d8f2c6395e4562f78cb035daa42bb8163347aa3365eeb6b39c99aff0a6fe4b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2b7a1505f9bebf6729530edc4b3d53449983fb8fc5826658c9773c30a393e135
MD5 f31f3263d9b1284083a327f077ee65b2
BLAKE2b-256 d2c4f0ac71f807b298f66db932c68f947979b6920d40a6da3cf6b9d6ee8ea876

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a06f25b2ffea76161e7fb578e6612ace73b49357218b9e3dc9cedb6f7aedd11
MD5 303a3ee0767e7014c42c541a6cbbff7c
BLAKE2b-256 e4adc72c2eb9d2e7fd2dd5d031609409bbace91aaf132682715a47e16493609e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.3-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 e66d51d35e88f859a33ae9e340e1063bb9e0a0c20ce767086da4d68d90143175
MD5 e425ec188c685cf4bdd92dabe3d79deb
BLAKE2b-256 617a5faabd221399b1b57eaf9a0989bf66e0f70025c5e6826f9a42eeb675ec94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 90cae081cebe8cbf10bf705ef6a84d8d77c24ee2eb0f68a23e19af4706736f64
MD5 1f26c6f56194840f87dc4b4eaf7c8eef
BLAKE2b-256 30a589dcd36797f6982d23e5ae4bdbdbacac2aa6569a038c929d76b4f0a8305e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0688064a3ecb8d52e3dc68b5e4d1a95e24fce99e22499ac085ac1af62e1c282c
MD5 e6a4a3788aec330f4dcc12f711ac484b
BLAKE2b-256 81a2a91975ae41b0fd275b13a1661fff6cea26fd17c4f9d3fa198e06741084c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.3-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 6e71a3959e5bd6d0575761f749e1a64cdbf98d46fe8f90b2cfc9b6df199ea552
MD5 d840bf15b12fe00ee3d42a53e16f2383
BLAKE2b-256 9a1c2aa4155aeb29761b1ab940bcf4f200acafaa0273d8ea788986f3beaa7fcf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 53286a7bb07299334b38a938aa975ce8fb5cb071c3c2eb4875f7f0762d4f59dd
MD5 199845e30c4943dc98f04364c4b120f5
BLAKE2b-256 2e4c7e71d5df62a9ed88945c3e01241b3616aff3906f7e84f56b118e57c4ca2b

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 148ccd07394acc330ea9cbfa41619c9c70d892e81214e7ca297d2ab35fac293a
MD5 e0a12b0b8f8cc8348fb81c62d62ef2aa
BLAKE2b-256 87e46469944878eee84d40f42471c79883bdd08de9de230c31547316de5661cd

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.3-cp38-cp38-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.3-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 cb54109449e1d15395abf3ada2e940016423d863c503d43500cc70599c835375
MD5 3627a968a9b7aea37071916e4915fc77
BLAKE2b-256 9865a0ee8b41a98f81f5ad949d4f5dc379ebeeff0936de44951b4886494d1c7f

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.12.3-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.12.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee5f10d3461a6f9b5838879b6a1bf880f68a53847439cd01f06c27a2d1c781b0
MD5 782a3197062f161477dd1749eaf71052
BLAKE2b-256 f59d40823912b516260cbbfbd85e9a4ab7beabbcbcfb89fde17af9c0db054287

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