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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 macOS 11.0+ ARM64

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

Uploaded CPython 3.10 macOS 11.0+ ARM64

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

Uploaded CPython 3.9 macOS 11.0+ ARM64

tiledbsoma-1.14.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.14.1-cp38-cp38-macosx_11_0_x86_64.whl (25.9 MB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

tiledbsoma-1.14.1-cp38-cp38-macosx_11_0_arm64.whl (23.0 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: tiledbsoma-1.14.1.tar.gz
  • Upload date:
  • Size: 454.5 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.1.tar.gz
Algorithm Hash digest
SHA256 2cf0b0b3ccf9e1b80df1baf41f133db7c8433e413ef7c0791e00df8ac5d978f2
MD5 1d45017453b00b81e1fb4333e6b2f863
BLAKE2b-256 a95cbf526d769792470a896c33dd2e112cbb66f9ec19d484552ec4717c8a2ff6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f8f8af3b73c1498cae06c2fcefba98b5d977716613698ec06ad7382bddc82b5
MD5 0364eeebfdeb5d854ef6618687805ba5
BLAKE2b-256 187bb1d70cac8e89cbeb358ec64c09f092f284f20fcf93b3d29c0b85a19c5845

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.1-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 a1175e8014806f3bca9bd1e8eda81d84b58edfa989496234a12ba7605d5beda0
MD5 d023734a2b5471f8ea8eacf6af9e1cee
BLAKE2b-256 01504b20e98e121e6783f2794b3bb51e1d695a522123f1d94d8710a435627b8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc9a394bb0518b748ef4b9c4a35d4d3773e1f95839861a37ab2a373f1d352e93
MD5 5b28f6439a0a80f54b3d03bbc1eed3a3
BLAKE2b-256 22dd9e24f37eb204538d4048861f1ca1bb5db15c5b225a37134d5feba20f0349

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7afe86ea55a0ebbff2a1af677b4d150d80ccb7393f998857f6ebb8126fb7740
MD5 5ecf133a984a3def3b77c634a36870cf
BLAKE2b-256 a2c74a4db03a229dad9eb79b5a6c956b93332b93896cdaa6a6ee433bccf65288

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.1-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 de6e7c3fdf786797b2e7beb7fc209d2f046c9038f5b3764baa151037e19a602e
MD5 669cd74e5cb58ea1a52f7291894d2563
BLAKE2b-256 1dd4fc2a1a5bcc44425e213755772846bc2987868fda5bf5c3865168c8cc50e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 898164f713fd19b18d8f27717dcea155417b262daf58ac9750098f83bda8f17f
MD5 b2f59725c1631e58b5bbd4a5865f95f6
BLAKE2b-256 4f803198fbc5ea035c50bee326002f5a24bc381c6a13e61fb405e473a44cfed3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e14dd6dd432913a773644648775cef5d392d0e76ad27dcc87882cfd68ade8407
MD5 59888ff7a54133c5d53b12fd973464a6
BLAKE2b-256 8eba3a2ff2940f8d5ed4e3aa71a66b935d3d7c4dff37335b03435d1f6be8aaa8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.1-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 582e0027798b04b4f107c3496e5e8c6eff9f5d0cb2893e8511d3e90f929438d7
MD5 86f45f0ca0f6e928e0c64d7cdd28d8f7
BLAKE2b-256 e6979564ae61d66d245ea7b3e833d32237a6c4b75fd639ebc3a8ceefd88c66d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb10a45e70e7fa8eec3d49cbc1104fc933c3919e63ec1c8559d4321df516382d
MD5 4f04bd574d3189ac68c289a506d50166
BLAKE2b-256 1c38455e247df1c2963307afcd5c22967a5e16633a31f6b01ed6e1b1759ca2fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 75a8548f2cd105a4a59b33b42f4e327a3036d79db60149d35f1e99467eed2447
MD5 c624a989845c95cab706f1dea35aaf72
BLAKE2b-256 6e2db6c245408125f91c525f2c0f6ba64a8567517183afb624b66ad9a58ad398

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.1-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 dd369c96d49c5cf200d1b049f5469dde5527e56bfbe1207ba5f13e3639fbbd6b
MD5 ff69e74dfdd39858dd0b629cc941e4ca
BLAKE2b-256 4652b0eb551b830bb19ff51add817547df1996b3f728641a3788e04435bf1f79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 350f3fc990a8496ce710a3dacd5ab3f9b183bfa308dc1645bfe0a32de906d221
MD5 dfad399570136fbb13c7e2650a5a3e3a
BLAKE2b-256 0f9f547eb17fc925b9e0d09b33ede7fc3f4054e0bbd16258b43cb7da71f24085

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