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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 macOS 11.0+ ARM64

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

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.14.4-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.4-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.4-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.4.tar.gz.

File metadata

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

File hashes

Hashes for tiledbsoma-1.14.4.tar.gz
Algorithm Hash digest
SHA256 af7b8fb7302e66ecbfdf3d0e3d35cdd6c6ebaabe54fcd98f9021466d855a3bae
MD5 a7fd3454b72fd5c6b29035b30ec98b1a
BLAKE2b-256 bdaaccaa2d18f2cb61115f005b9fb2190812a32b74af6a8412af107a02af2882

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52745e6cd657ed121c16da8bd039ef200ea12662166504d55db272fc11b6edeb
MD5 50d4c98a540423c26af9ab46460b405d
BLAKE2b-256 43e44e4c2d897157ddfd62e44950d81a1b7664a8c49fdcd32034eff5622f9796

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.4-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 b4f22f8a91536d6350339a4597077431a405e0409467679ba1ad92fa6664b04b
MD5 75dfa6cebad72f521bb6202cc44085e8
BLAKE2b-256 5fa400afc31b636f0a98dc5e9f65bdf1e69aad9f12dd6f63ba06cafe136320c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 64777a7f5210f9bc112ef2e5f301102d83bfe3290e8f6b7ef7f581e57ba76b4e
MD5 3fc8f4c9248ca72a41a20d3997dc18a3
BLAKE2b-256 cfe48f1acc60265e082d99c91bcc55d4238c6eed2be45b8d8e7d3bc62675dec2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 70b8c0f1c1dabcb5178fd8d2b93dec7952c33b0e79561e2bc925340b56e54657
MD5 f18cdb26c462fa4858f31a8a334ae1bf
BLAKE2b-256 f6e7502f88305e41bff48b7ca2ae4b78bb35c716cd6f6895b14e05d408b3835a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.4-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 b4e4da3d78555936b09a41bcc4abdd61ff0b167901717a7ea1ae69046e6df4ff
MD5 3a94c84d331da824431122e4f47e2966
BLAKE2b-256 9b055191d4afe6635dbc6ac5ef384c7bfe7edbdd552e8c2c8c6229335a4a6186

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4e6dba14d977902d3ff64b08ea19e176f631230ac0195d075c0871ef28abd027
MD5 d3c7dda535ec3a064ec26c9c0e039b0a
BLAKE2b-256 bbb567c03842b9d3cfb490ba7a3e773cd4bd131f92fb8f5b62dd24bcd1a5a1d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d5fa77bb18cb684096a8c5bfa77140ad8d7150105312f112d21e598d9d6d0e10
MD5 3f0a4be0cb5f0806259d09fbc656fe55
BLAKE2b-256 c461f8411a7c31dcdebb660423e1527f5dbf6a5ca28fce82458e0ec93407574a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.4-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 e8c9285581da9a27184cd9c41b34ae4b1c4842e1b704e8a262e0873d41ccfbcf
MD5 2a680ab010d3e9ebcba37b2ae6b54951
BLAKE2b-256 754acf60ec3585fb7d9d20ce337773a23c758b1dc7a840b11ae529a62cdafdde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 664073d4b4bd5842835db8ebaaa8c6c68b03bd2635185103154f8b30e4b83892
MD5 bac23b2088c3e5e85f24c214e792ba00
BLAKE2b-256 aa55f6e3393e6a67b62cb53970b246ecd7fc957fccb3186215423d39fa6d6144

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