Skip to main content

Python API for efficient storage and retrieval of single-cell data using TileDB

Reason this release was yanked:

Relese has post-tag failures

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

Uploaded Source

Built Distributions

tiledbsoma-1.15.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.15.0rc0-cp311-cp311-macosx_11_0_x86_64.whl (26.0 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc0-cp311-cp311-macosx_11_0_arm64.whl (23.1 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.15.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.15.0rc0-cp310-cp310-macosx_11_0_x86_64.whl (26.0 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc0-cp310-cp310-macosx_11_0_arm64.whl (23.1 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.15.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.15.0rc0-cp39-cp39-macosx_11_0_x86_64.whl (26.0 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc0-cp39-cp39-macosx_11_0_arm64.whl (23.1 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: tiledbsoma-1.15.0rc0.tar.gz
  • Upload date:
  • Size: 591.1 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.0rc0.tar.gz
Algorithm Hash digest
SHA256 9499ac78554040cb817f5cb1595462fbffd5592bbbc45a55edbc0a33ccc5d76c
MD5 273b80f2a2889c75a9b5ae8321480f10
BLAKE2b-256 86024ad5c9cbc155c68f85ebff4cd1055801ad336451f0761eca258273e827c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93264def85a16f399d4ccb7f948d68e976ebebb955b3535e3ca93b8fe49c6fc9
MD5 31c4716c3551e7e450e71680d3461477
BLAKE2b-256 c37223e79787773e5af4cab104666bcce3e6f5d8daa164d51e0d5ac9f0f6364d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9a2a174e2ab3c3fdfcc921d26b88efdaf5719c1aa6a9a91d86b960812b7be560
MD5 c00984c02fa9f08ea9b31a4d251130ae
BLAKE2b-256 94e0f296824509ffc5e034f0131b672d3e700110c860c02531ff07ce1b615c84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fa32537da770b3583bc0056ba9d842a52a8fcfd8dc5d5fc570fd1765ba965fd1
MD5 cb06afd50b1f7b6ba350cd76fa2958ad
BLAKE2b-256 9856fa6809dc7f4520b0ef68fce97167aba45d15958f7c174f0ee546ccd8a84f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e8a3ec64a2fbdda84659fe04453132fa74ac8b1b2406ff72153a90041e05b678
MD5 33a0b9bde53e6a08a38edc5b112e79e0
BLAKE2b-256 adcb68f1c59880a30dd7eba6c0f9e5fd3b799b9e9d4766ecb3ab20197c594856

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 6afc0aa040e0217288a2a6899d8d598b7b6008037fc57fd19f22e24b8f6b8f03
MD5 edf020711aa9bc0fb2fbc78e94b37da9
BLAKE2b-256 415633cf319ea7f2c30d057f453b59a1bbb11e3f824c46df0402385c15f93eb3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c192712f0036675bf6bef7d65e90e3fd2ec4a54899847536b675ba0fc241b5db
MD5 e80d274c45b4d3f14d59cd01bf5fd7f3
BLAKE2b-256 1d7333ae4bc6a46e83d63f840848b00e621eff09f0535ada5e1ab00514c9cbf0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 048dd2cc41ccf44993b9694b632b70c717b2dbc0f3d5c39d78554df9807675d0
MD5 ba90f4bae2a9823328c32e051f0c212b
BLAKE2b-256 7181566c784a1438b33a21fa42fb5183dfb1e7ece28c828f02b7342d8b17ef48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 7e02cdebddc795aac13b5d200e54b8dda6716deedb3b4dd24ceffdd116b045a4
MD5 85f4de9133783866642360026886e4dc
BLAKE2b-256 7d7e0460b0d185cd6ab150b2dcd87dd8ba487ef35c4dab8f70d6a0a9850210ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e6ec228e4cfedf9d375a9179c35b5330f9c5e0c7bb5f8775d10188bcc7222c9
MD5 57db8e17d5955957ac7ba8c0553be522
BLAKE2b-256 6511028cf6d413ca06113d7c96f0c2ded5ff605b8f63553cfe529fed84e70498

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