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

Uploaded Source

Built Distributions

tiledbsoma-1.12.1-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.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.12.1-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.1-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.1-cp310-cp310-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.12.1-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.1-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.1-cp39-cp39-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tiledbsoma-1.12.1-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.1-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.1-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.1.tar.gz.

File metadata

  • Download URL: tiledbsoma-1.12.1.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.1.tar.gz
Algorithm Hash digest
SHA256 651e0b7605c19196d0ff4cba282ad09bc767fcd131bba89557c30da1f80a5d6a
MD5 1fe01ed197e9b87f260d910e60c77a84
BLAKE2b-256 e7ebfc292c2f9e0cc43e40a36a0d0b98613cc342a39ae5276b9fab39911ecca6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc0f5dbf38f711e721886b06c52fbe072f71a925266fa5a204375e56796ad052
MD5 3613940fc16ef896853f331af023023f
BLAKE2b-256 588353611f0ece1659708cd93dcb21a68a537b6ca8f75488f429393d0dc0787a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.1-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 5fed826b74c44d82bc44d479ed244f8bc0a7ea247fcd385cff30c354b04fcb30
MD5 df03cf7e283a8c11271deca7ba88fd89
BLAKE2b-256 02e3cf5efe6987fcd9e4054d1404b405b7f0886b8d784bdc22bbfc01415bb819

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c6f3c4a651314e1514f90db1b277dfc5bbcdd179ffe80082f765ef2b1a52156
MD5 750210fedaddf7dc80465cce18603021
BLAKE2b-256 d93ba3933041e54ebd0f73dd7fa372b854cfd9a05637de02738e6530b1f17e94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a85b885d2465b28f705483a1ce0768880c9e780e346c6c21b024018e5d665bb1
MD5 c91b975f2b97e0974e4d40c1d61856a3
BLAKE2b-256 d1965cdff5db1d8161cfb8c3fdcec628dee804f6b443e9045f31cbec7c939c92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.1-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 61fe32079160ba034740e5d14a60cb6a52b38456c8f0ec1d5400388250099980
MD5 61e6c51eade653282747437903e6f2c1
BLAKE2b-256 02be002aa9faa0ab679efdf0ca36e68cc92b24e8e2f6b69ab111bc3626e3dfcd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63006c6cf11a11f90a9df319909224ebc7eb186ba676a012bca27a7b6eb69635
MD5 f3773aa2099b00e61da0dd04dd855d96
BLAKE2b-256 ac5ee48a54d9f24bfb6d2e5b39e3726d87db7c388ae30e289249f90acf4c9cf1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3dbbc70d1e768c3336e3e028bc5673c2589314b9ca43deff488a9a7ce6d8ea4f
MD5 f85db0409dc9468db174564dfdcf660b
BLAKE2b-256 c2b9e2cc831f8f07b20bdc2ab79c7f0d8d3b85f16bb73d9c48f96e493d3f9e34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.1-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 59b1a42b0f4851b06a70e7ca145e5257ce119b771e301cf45d00044a99ed24b5
MD5 0550c2648a1a79cd59e5e0af022bf999
BLAKE2b-256 369b12f4fea0cacb7f4588a7b731a10766bfcc80a43f73f8bf11027fb62228f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b04e179ec5869c0373bfcc188a30b907b2ee8aba288b13d6d1f21d39fe9426d
MD5 17ee2bcd753601016e226233ae4e0be1
BLAKE2b-256 97e1a0b59799dd5ae527f78627dc351e63de2b5098fc70cc50806f1ee0eb2c98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f01ae843ff1bb75c923e59aa87621ec15473f61e7c5c34e0d4f17cae1931717
MD5 470068be0fc610610392012102eb4cdc
BLAKE2b-256 94caef8032910864bc5644e404e5177c030b595f6a68bda33dbce7e5e59e9edd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.1-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 3710404fb4bf73bc46bd8eda4bb926af7c54f8f640639bd6b9ad9ff29f3d7d2c
MD5 f9a1a31d5a3ccc68f7ba3b125676260e
BLAKE2b-256 aadc90441b8080de79565cfe15bc14513a7a32f6cd713f7e0a13182c7a83dd7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2017ccf0769ea26269007d4706dcb4a506a23b8be1dbeecc08fc812fbbf95cbc
MD5 47abb53e76590baea07c8ad50622d10e
BLAKE2b-256 06f619ccd315d7508f5c55b23ff7324f0fdd38b3560d33e3615b0a38fa8dd4eb

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