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

Uploaded Source

Built Distributions

tiledbsoma-1.14.2rc0-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.2rc0-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.2rc0-cp311-cp311-macosx_11_0_arm64.whl (23.0 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.14.2rc0-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.2rc0-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.2rc0-cp310-cp310-macosx_11_0_arm64.whl (23.0 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.14.2rc0-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.2rc0-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.2rc0-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.2rc0.tar.gz.

File metadata

  • Download URL: tiledbsoma-1.14.2rc0.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.2rc0.tar.gz
Algorithm Hash digest
SHA256 e750018b0f97366d20aa0f6539e29198462c16cecd10d03dd06e8dd453cae3b3
MD5 a91f3820fda34ac17c4f7b64a242d4b7
BLAKE2b-256 5223839f948f7ef450c5a1eb28e72b55aa4fc8a62a7e1985f05aa5d7cd236e40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e47a609356c7748ef5fa1e0b9fb7e76447cf4ab6f2b0eea63cefb4d77f7f1857
MD5 081e8d53d73dd5b0f75c80cffc53f18e
BLAKE2b-256 08bde7577b0957a3125d7d92b4632e1f688ef09831caef7281d9fe7d42013a61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2rc0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 31ac88283a2d73eec9f0fcd801a6c0ad3710f524f900ce00ec57b23a1545a5f3
MD5 b170194ec7bc1056c9df1debf3030e79
BLAKE2b-256 f5600fe57c9dfd2f7dfe21f59fe7b85f06a5deacde765dff16b67b7829f5710a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2rc0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a8660f981578bb4fb6a20f79bcfda26faea4326bf3109dcc55fadd7aa5ba73a4
MD5 1afb74da120e49eba320315c52feba10
BLAKE2b-256 2bc9c478fdef60985d80ed717b8d4229478ce9f2eff45008c4ed04f85c2ce5e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62a87ef494e010e69d9f719dd79bd1e3753e72561e2e37c6a8341972d76f89a6
MD5 24e4e0a3a000a75b75513d13663829f3
BLAKE2b-256 14f15eb2cb4d77da90ac80d07b2410ec623a810dd4638c0292b79a81d8aea842

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2rc0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 db6cf3ed05f49ecc731838bc3a03b7e453b362004afde1935687d3b9a4d362d0
MD5 c2f47383c289dd41c6be92e427ca6909
BLAKE2b-256 c61d1a1c7321b39aa3663592eda90c446777e398bf125f0e5bdba17ff4cf077b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2rc0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cde86f81654fb971f9c9ff091f08c75bb094a73d12fa0540cc71c08d5d5c5079
MD5 c1ac36e9adfe23aedec21de4a4c073e1
BLAKE2b-256 a6ec7e864b78093bcce8e9ada057cdc962674449792120eba5e3eab4955c9109

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5eb733dba7c727957e75e0e79e230df849eb368a120d4cbe441d23bf135a4d40
MD5 f207c608bdc024bdef24c9f761604731
BLAKE2b-256 a84523294ce981368a56b4c6493bce520615e25a905881f6a7c47983a7c4ce1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2rc0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 b65ae7789d59e6a287b8ad787d6d4a626060c61c889799e125627c3f0770ef74
MD5 73ff1ef659e6974eac3951d7c93140c7
BLAKE2b-256 d0416d1659150521888dccca8d2725c40b47ec059651777f6b9bc4ff016c2cb5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.2rc0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8ed6dc2b6815fff05fa0c1ea39c8b9743d433793ef4fb4135b4f77a4330443cf
MD5 33f6bc19bd325006b3f0fa1aff74d424
BLAKE2b-256 f3669312f14f0760b8fc7ce5ee392b77fded5885e25f199c721f2be7a979ed7e

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