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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 macOS 11.0+ ARM64

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

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.14.3-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.3-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.3-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.3.tar.gz.

File metadata

  • Download URL: tiledbsoma-1.14.3.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.3.tar.gz
Algorithm Hash digest
SHA256 806a1e1280f0117f3f954c6521e6cc06dd24d2775aa887c0cf7d21823498ecf7
MD5 6a80d77c3ce3a893e2f4a4d4bc4642a1
BLAKE2b-256 8d87e31ba36b4cec1c902ffb9787c1c53e311d2f388127b1eb1ac96535430ed3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73576520ae5a0f29e8e0f2ac4829cd4ecf9cefd6cac5fbd903750ea82950abcf
MD5 bfd49fd704e2d371cd2953ffc7592083
BLAKE2b-256 61cbf54e88c752be4d1ca6f3b282dd93261eb89b1908febc588f83402fd4805e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.3-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 2897ecee889656f0c339325c98eed13ed26577e69d585de37c14e42b55eb1a73
MD5 127cac342212aef6b54eeb578f2ef1ae
BLAKE2b-256 9c436eb0ad7b6b7892c5f0c0542bf73edc3e33bdb230873f9da874293344fe97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5834cb0e6721b6ab1839427d713d70b6263a43a5b193ef47d8f226587058fb53
MD5 f13676cdcfb9fcf805c695fea5c6312c
BLAKE2b-256 9dcb82421d1dfafc79bf70cdbe193071bdaf982a049ff8377c62587d20ca0886

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dd0afd1ebd75683d08d32d5ca76d9f0f4b735a08bdab28a07eaa8b39bf3910a0
MD5 fbdb2df985f3dcbc8e240c94cfbd81d9
BLAKE2b-256 21a62116e85ccdf52bcf14b5ebe1e4b627bd3d2c518e2adb4f6a162c1f9450ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.3-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 f955672bfda68dbc3370f09086da5352602acd05b3ca4ae73e8254560961c28e
MD5 ef2ec4049c3a7741a62e7eff25f8710c
BLAKE2b-256 8c941a01355dda953ad6a6d0177ce4c7063fbe6b25abb89edc69abc0e0c195ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 828aeefdbddc9186e86c45548ddd98c388dd2178e418d4a0771966526b81a14d
MD5 2f63cbc8b9740d0cd7414d6a79f3ad67
BLAKE2b-256 868714db7637f2f0dd186583f849db7cf684f4c4499c9fffbaeb6a97deb5d686

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0625281a25aa9e4dcec326c6693e02009dd9c083aa32759bac679828d0f57151
MD5 0593c5fde27e5fdcb894262b45bcbc57
BLAKE2b-256 e98c1100d3101983f2d24cc8a13b528e33970440aada237de2ed52538140928d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.3-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9c4b2bd48acf3de83ce7d6a38a2b35f8f9e73bf6b00108ceedae44bc65d2afdb
MD5 e2703930a72b29e353da1006f677763f
BLAKE2b-256 0b480c4f85c26447cdac5b3fa4b58067e6343e717c7856b56c85f88207314240

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.14.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf1049b9d1bd06400b296f471fd1f5ecf3c2161b4dde7517a3935d417f8e703b
MD5 3d4b32138fdbeb1a2d26eb0f51364680
BLAKE2b-256 94bddbc1a21be880e3e84cc0c6c86dc03fbf2923a1d29a629733e9287448c4c6

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