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

Uploaded Source

Built Distributions

tiledbsoma-1.12.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.12.2-cp311-cp311-macosx_11_0_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

tiledbsoma-1.12.2-cp311-cp311-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.12.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.12.2-cp310-cp310-macosx_11_0_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

tiledbsoma-1.12.2-cp310-cp310-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.12.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.12.2-cp39-cp39-macosx_11_0_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

tiledbsoma-1.12.2-cp39-cp39-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tiledbsoma-1.12.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.12.2-cp38-cp38-macosx_11_0_x86_64.whl (24.7 MB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

tiledbsoma-1.12.2-cp38-cp38-macosx_11_0_arm64.whl (21.9 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: tiledbsoma-1.12.2.tar.gz
  • Upload date:
  • Size: 421.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for tiledbsoma-1.12.2.tar.gz
Algorithm Hash digest
SHA256 673ca4e0e3060006f68548bcc7e10d836950b5ec889749de4a4f6a526a4727b6
MD5 5adf10715f9338ecc3c7895b4daf2c32
BLAKE2b-256 891b4805c73c3c04535aaed31614e30aeeb659e43a3492defa5dcc4c5fb7b612

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7bf2d8e9a15deae7b63ed5d1caf3abb1f93a6c2269632372c6d442bde433f581
MD5 ed0dcdec3322606cad6f249eb7a8e506
BLAKE2b-256 a88e5f827c06620855e90ed36a06641e6e2c0a1d4a0d383cea300237ee67c286

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.2-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 5edc8595decbe12817514fd89786be6eedc0b406053de982834e798f2d956bd8
MD5 be2c1fadb92a0318ec9d0c3060274675
BLAKE2b-256 235c82dcd04a765dbffb3f57ffcbcf274f28e9b32f046329fe3593c29877e4c6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ad560b707fa59e9c06e66da487422f91c9c1826bc8f277717a65ba92b3167752
MD5 3eb1deab071d1cb61009edb79071b7b1
BLAKE2b-256 6328977db3a5f74fb9000248d3de96182991c4c2b893b2682cf073ffb23adb55

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b88d013b2e83b0f5edbcd5c1e68d415098521459212a62912393baba1999515
MD5 6639028cb34ecfcafb65e9bded0c447a
BLAKE2b-256 c3c8f1e249b06cdf275db69a2a78190374db093ab117c1ba38ad18e63b676c4d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.2-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 174d28360a9c4de6eca5ca7692e6403fce7279de2fbd838ca9298af7c9056012
MD5 085d20a9d3aa41f05095407c1624e907
BLAKE2b-256 ba72b24123bc1696a18415b18257757c07c1e50e9f87cb03a9877222ae4903b9

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2a5cb517f6b7415b57158871d6231f62508e049dcf60692bc91b39261ca1691f
MD5 46f0ab71991db5bdb9f51d14442a5d7d
BLAKE2b-256 63c58cf6ad10641dcfbcee099d002d87503177c07901980e92d6dcb617835d92

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 40d67bb7c491d021e4c8556608f74e2dcdb782239e144c30605c12006dc4a561
MD5 2ac3234469120bffaa337a54f8e6d9d4
BLAKE2b-256 74724868e8b200ebfe0f6ad2c7df54b7e4f98e75157730828d3740f84deae4a6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.2-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 c8ad6cd0a5a066c867179eaae288478665a112a89b43783c511528cd0c77a767
MD5 e90a11f034069c9881ea59e317b143e9
BLAKE2b-256 98e7baea28f927ae3f7d3907c0b0ab8ad71a62da9d0b4da9946b2d66df7cdea2

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 203ed0ba7d32cb0d4dae6691aa1f61cc8fd25c87db2ffe64684ed86b08cf0530
MD5 de6f597eba7dd7fd653b57f9d8126c7f
BLAKE2b-256 3b1a002515fc7a2beae34037b90cab10cfcc9692b6d1f5cedbfb16041be76047

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b7f335172f77315072dfb9ebfdbbd1ed5570b441d30b9d666f7040dbaf644fd
MD5 7fe45ae067c74cb8d2ef9560a1800a0c
BLAKE2b-256 a514ff7d07dac75a15d69d61c1f33f18ddff314381709be2c789093434464a75

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.2-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 832b7a34d38eaa96a4a0446680a66fdac1936913d499ff766df4f3ddf510bb84
MD5 e2cf6b45f3b6bc07cf5e3798d446f9b6
BLAKE2b-256 cd34cc9cf46a0d83aa12969261dc2c3665f9c2d68415f958b4d6e307a3fbf9c4

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.12.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fea2ed1cf3e3c8171572c1edb85448ab1ce0e3aa40a3f0097bdf665b8df598a7
MD5 a68d2a6a5c2d0815cc6f81dd5cd8a241
BLAKE2b-256 ae1dba9153bb29edf8256ce0ad6d75e586b92c2ee72f0be290c0cfa70fe372d6

See more details on using hashes here.

Provenance

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