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

  • 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:
    make data
    python -m pytest tests
    
  • A note about the spdlog package: If you encounter an install-time error like fatal error: spdlog/spdlog.h: No such file or directory you should additionally recursively remove /usr/local/lib/cmake/spdlog , since the system uninstall of spdlog fails to remove this properly.

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.0rc4.tar.gz (663.7 kB view details)

Uploaded Source

Built Distributions

tiledbsoma-1.15.0rc4-cp312-cp312-manylinux_2_28_x86_64.whl (19.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

tiledbsoma-1.15.0rc4-cp312-cp312-macosx_11_0_x86_64.whl (27.8 MB view details)

Uploaded CPython 3.12 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc4-cp312-cp312-macosx_11_0_arm64.whl (25.8 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

tiledbsoma-1.15.0rc4-cp311-cp311-manylinux_2_28_x86_64.whl (19.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

tiledbsoma-1.15.0rc4-cp311-cp311-macosx_11_0_x86_64.whl (27.8 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc4-cp311-cp311-macosx_11_0_arm64.whl (25.8 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.15.0rc4-cp310-cp310-manylinux_2_28_x86_64.whl (19.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

tiledbsoma-1.15.0rc4-cp310-cp310-macosx_11_0_x86_64.whl (27.8 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc4-cp310-cp310-macosx_11_0_arm64.whl (25.8 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.15.0rc4-cp39-cp39-manylinux_2_28_x86_64.whl (19.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

tiledbsoma-1.15.0rc4-cp39-cp39-macosx_11_0_x86_64.whl (27.8 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

tiledbsoma-1.15.0rc4-cp39-cp39-macosx_11_0_arm64.whl (25.8 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: tiledbsoma-1.15.0rc4.tar.gz
  • Upload date:
  • Size: 663.7 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.0rc4.tar.gz
Algorithm Hash digest
SHA256 49f30a6c07c9e3a8e7b5b921688de4167e1a7528dadbb973995d32709e532983
MD5 5126d7d070144fbc89b8696d2ff89423
BLAKE2b-256 4576acdacc8597dc1901c4c965ae552bb2091efcb00ee4f6e6d17c0e832a7f64

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc4-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc4-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73d5e4112f927cfbc2c866ed32192ba4e622497cd0fe83862acecb1ebfca0add
MD5 429b4fe0d5d5df15f88596a7b018ad84
BLAKE2b-256 45956b9879b6aae8d967447ee7743d1a1f35878ddc68c087e2bd0db36e9332a7

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc4-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc4-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 3539d64c1dafbb06469129b06baf0b3b7e12a9ab791c0e2ee4b09bdad0ee2b9d
MD5 cd3271d2061e655552989091b5923afa
BLAKE2b-256 62d0e111cfd30d893ed7d55dacad95d65d9414ce687fa27ae90305b37ce4b243

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 922f3ad214b5b74d9a028f3172f5f4bc09cab33e5ace80eeaeccf4ee01a85e6c
MD5 5ca126393cb9ba7355cd77a26fa45bc7
BLAKE2b-256 a9de4ff554601666b62bd7ff40b50b05df721f3d182a549da8dbb03353f68414

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc4-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc4-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ba6b52740e41aa5dc7b56fa113cc358d54ae43efba4a36753f8468ad972aec81
MD5 7441a75348fb9997227720fa7e21a13c
BLAKE2b-256 1de20d87f5f3b7ae22be26390e7f5146e73284e075bcd87ef987748eb04657d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc4-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 fd67b3699a404b5d36433111ffb455f47100dab2d7e439a0e0549d7a141eb317
MD5 54342791ffbe62e6c3e57ee2e51fb74b
BLAKE2b-256 f2b9070d765030c0764ab097b4b2d72e5bbe0820000db900f9ae75775269becb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cbdbd469648c5c1fed2b9499dc4107898b771f86edb3b68eee046e34f43cdb15
MD5 8601be316223d881ad07bc43c122054e
BLAKE2b-256 ec965c695aa9ac0441ec46a4c1aca0865da9ed8bbbc1bdbf7c02196932d7915c

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc4-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc4-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1103c897293f93c21750571fcf3bdb31b2c22007e1e6b9e33ec200640c76c323
MD5 5ecbeb8152412e7a7c74c6cf29066f56
BLAKE2b-256 a78941a24994bdbd04a7fd08d0c1d97d59201930f61ab7ccef9fdebc51c911d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc4-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 498d7060ac734a0fca96e77d75e141a6b7f9ab2d54aed524bd10e00f0a5add92
MD5 8ad3ce0821b9070d40f6b1b2274eec06
BLAKE2b-256 cf41db829af32daaac0e9c824cb6e9a5ba2479670e36fad31546aa00455c8e73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a3ede357154d6b5ced7e3c68b5b63ad9c4bcc617f3ba94a9c3772a644e03ad8d
MD5 45fa2a643deee3f701a2e9349f94fc04
BLAKE2b-256 cad20aa245be2888cb71c71b40fc945bf31049cd97955af350bdec1fcc8e0ea1

See more details on using hashes here.

File details

Details for the file tiledbsoma-1.15.0rc4-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc4-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5db5a409b03022f468ecbf7df0d11709c71bec9412e7d94b8d37e9b7c91fa0f8
MD5 01f4be64905a84266c94b6a8d04b87cd
BLAKE2b-256 98a5f25729039c561e78ab6accfcaf7ffdc8ef1d69b204ba9e9b9bdd50e89ec7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc4-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 ece593524d9783c38569c897f44d7e9d942975045f230ee22516b2bdba9c0fd5
MD5 54b05fb240c4392cc42da43f9927de5f
BLAKE2b-256 44938ec8d89cbacd90afe57efc426716f5b1d8300aa70cdd06f979c156e66dee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.15.0rc4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c962d92490b3b65f78480a1338fe879fa64629489c696a0da38d432212f328bd
MD5 0b587f7a8c31a282f1a5e983b013742f
BLAKE2b-256 d4a7c29186fabe75d9214630a4f727ef4a55fa1b6a8a062d3ac6ad791b136e79

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