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

Uploaded Source

Built Distributions

tiledbsoma-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.13.1-cp311-cp311-macosx_11_0_x86_64.whl (24.9 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

tiledbsoma-1.13.1-cp311-cp311-macosx_11_0_arm64.whl (22.1 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.13.1-cp310-cp310-macosx_11_0_x86_64.whl (24.9 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

tiledbsoma-1.13.1-cp310-cp310-macosx_11_0_arm64.whl (22.1 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.13.1-cp39-cp39-macosx_11_0_x86_64.whl (24.9 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

tiledbsoma-1.13.1-cp39-cp39-macosx_11_0_arm64.whl (22.1 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tiledbsoma-1.13.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.13.1-cp38-cp38-macosx_11_0_x86_64.whl (24.9 MB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

tiledbsoma-1.13.1-cp38-cp38-macosx_11_0_arm64.whl (22.1 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for tiledbsoma-1.13.1.tar.gz
Algorithm Hash digest
SHA256 14db76fb643e22c267645b7d9cf59a4495d6b9372da543a9322c341bcd142da0
MD5 0307bfe33de27cde1aee5d7a67b5ebc7
BLAKE2b-256 0d0d29334ea331ad4b2aa370f72391de72977bc98d789238b7cd37af19a33d1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c04c2cc4c347268c1fde7b08cc311d78eba34aa7f8f7a85b3a4d223b4c95cada
MD5 6cf4af5913dfa3c9612c4a4015a49bbd
BLAKE2b-256 888390c7fcaae7dc4c66d493aee6b901ef202336928a86d5799355be2e72ccef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.1-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 d34428cff5155499950646dcb48e770dda0344302154cdd5b7850baae4096c01
MD5 ef1453729a9480859f7182efe681d8fa
BLAKE2b-256 8019b3e03a19fc2e46dfa3d7627722ae68dc4c931bf50866d122ee9df6c5e5bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f4a6d4b1977f1013494a7653249fb322f489e2a9808696d71e03f073af0184c2
MD5 d45246c0f6717d8ea28d692908d2279c
BLAKE2b-256 761348c2314a6458102a84eb2faf33e96677e0a3022dd18965cb960f8ff4db6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88a6818ad9346c44a02b197e9da4619847ef4c985a09ce33afff4e49b3a2589d
MD5 088f568d40357a541b46abaaf16e2f1c
BLAKE2b-256 dcec995a641df9e34232d9cb242c4319a77d26f47c25639746b3f6fe5316c931

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.1-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 44e54e9037c507097d4951179e24226a39e4fcd0c5250ee0362bb5c27f905866
MD5 06a63ef5bc6d95950d00c255fc107c14
BLAKE2b-256 459ee3f22238f00b74c6fa4498709dc0e0029589fad0e8e41a267641693b53e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 38d92ac3f6c7542944a43c9ebc163dcc1ab1f12ade45c7251cff2bfd8620c7c8
MD5 001a0c04d91ff7ee44dd5045366638ea
BLAKE2b-256 4b7856f0871a3d85f5415a1edb9324f6b10e1f7cf2fe6ccef35d9d8549cd60db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9449cf20915216821e4cc9ba1c3284310171fb7c7dd83827a66e61013e241502
MD5 6c083225b492974937cefea58a99ab27
BLAKE2b-256 ab581bf07eb7aba4456876ab4ef9dbdf325da39bc75367ab68298d785fd8b005

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.1-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9ee9845ea5fa01d5d0f00e52b42f5cd00af789859e6bbbf04d6ddae1f3f44ddd
MD5 9c1ec0241c874bc2dbe49b840b89ceca
BLAKE2b-256 23053b08eccaf232f7bd287ebdd2f0c08186cb15f311f99849716f808d5f4393

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 198b0c9d64dfc81fd6cb368262d9928049cf58768e0d557ba2f7ed0acd45e606
MD5 d8cbc80eeb3cb9c14e333dedb41bd789
BLAKE2b-256 f0be9def5400f5486f37fba4d4aae412aee159f8e2cc80b542f21aa940a3425c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 729a7a6f10e17416e0efeb8d31e53c2a25b0e18b8b51e4547cd1d7a01557a784
MD5 f9568d3d96d6402f5effb4e30094ecec
BLAKE2b-256 82cf6389de4e87482a7c555af278342e5cc5650acb4f3997a142459be9bf23c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.1-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 18e8be33c79020db924ea52e8a41171fc0ccd63f0edfde4b1faf4fd82a87a2b3
MD5 3db7eda7c59713b1ea1615722bb63163
BLAKE2b-256 3f3e31ceb2c3b48ba43539e40434f9e1394453961219c10880daabb0ea767332

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1911366e54b4365fe156cfb0423208fd39660e0dfd30ee081b1b31c7a0261c83
MD5 b3f01195275b92ebcb60aeb0cfe06352
BLAKE2b-256 3c3de4ad9576b4936ee44f22b5959a757e8ddc60b1e5b62831500e0e4d5aea0d

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