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

Uploaded Source

Built Distributions

tiledbsoma-1.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.11.4-cp311-cp311-macosx_11_0_x86_64.whl (24.5 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

tiledbsoma-1.11.4-cp311-cp311-macosx_11_0_arm64.whl (21.7 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.11.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.11.4-cp310-cp310-macosx_11_0_x86_64.whl (24.5 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

tiledbsoma-1.11.4-cp310-cp310-macosx_11_0_arm64.whl (21.7 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.11.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.11.4-cp39-cp39-macosx_11_0_x86_64.whl (24.5 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

tiledbsoma-1.11.4-cp39-cp39-macosx_11_0_arm64.whl (21.7 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tiledbsoma-1.11.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tiledbsoma-1.11.4-cp38-cp38-macosx_11_0_x86_64.whl (24.5 MB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

tiledbsoma-1.11.4-cp38-cp38-macosx_11_0_arm64.whl (21.7 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: tiledbsoma-1.11.4.tar.gz
  • Upload date:
  • Size: 419.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for tiledbsoma-1.11.4.tar.gz
Algorithm Hash digest
SHA256 514722286534fc76d37471e60eaae8c6b399abd99a4223624e8a36e2910f577d
MD5 563dddedcb403454ffc3bac5790595b4
BLAKE2b-256 dfd249abffc212981db4f7daab798e1d566a8dfa99f1a06830972af45df96638

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bb7a0f200623cbd326947b5af2cd49a30fcb2b5e557ab7896b9b81577136894f
MD5 8b28114875c0cee4eee578b651ac3403
BLAKE2b-256 ff9c521d5e09a632714dbd1b250a23a1fcb8a2ecc8ae0ae202454a89dac56fac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.11.4-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 75a1a9eec68f97a6fe4a29224b6a4d191ae28fed9087194a8a8061ce1039ae6b
MD5 8bae4a77c622fc7935dfa79befee326f
BLAKE2b-256 6a2da113df803fbee86dfa58e703a65307c647cbf58db3346aad040d13ea6ed7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.11.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 969f5c54050ef3820320ddb0a49ba34728f57fb96245df44292ceb9f6898253f
MD5 4e1f41f4ed42385cb040c6a4143f3869
BLAKE2b-256 5577def746da666ba4fe561a5739c37445c32651ef7009ec4842171e5a00fa6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.11.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 962c60abb6b147875b0c63b19426885253c3928146026a68158854b898878589
MD5 daa586cb930337d3f22df86ca1e72b7c
BLAKE2b-256 7f7ffe97587d18af021ebf07ef87176ff6d89a6e35430cafd04d450ed663e82f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.11.4-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 c9de7ef5e018a238754e6b00e4a5e98ae74b520377ea4a9a20917440182e5674
MD5 56732add3f49e06e5df180319713a899
BLAKE2b-256 d14164e810770b8fab0d3fdd010fc6f5cb1ba26c4db364916eb1231f00311fa3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.11.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d5bdbcce7e8404e655548b1ddbd05aacb5b27a516b0d571ed8d6ed6124aa208
MD5 c56e2f73c8385f5543686f83d3a1516c
BLAKE2b-256 dcacc1114548d57d676b53f0c267e81067cd9fb36c7cc6c2600a51f6e2d01430

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.11.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b873aa1ae9ce7a826403db5b52ba927a7d60a79a7d6a88c9f206caa684079dc
MD5 7ce2a61304380b09a10953af578680ae
BLAKE2b-256 95d2a4ea2353b5a671e3a3d53c41a0972b6651c22a6913dc5717b093472ea407

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.11.4-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 6b49bd62ce288c36cb3188f1d9acbab9aa47806cc3267ab5d92ba421c1ea4cd2
MD5 90ade2781263d8c03fc8ca183bc511a1
BLAKE2b-256 4f96b4ab464460712270af16ac984894f3777964f57bc6e323ca62d857221382

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.11.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2318a201a389375d34ec200febfcf556ed1c8ed4b37aa6065add8fce2096709f
MD5 f1134f152603f53456ea9f991a601313
BLAKE2b-256 04a3a0cf713ecf6dd3c3301f6c90b1d2929e4d522e035366c782c20ae0159d9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.11.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8acb02badf9a68ec061d47033b78f3185838215441545fbb8c28a15ad0249d7a
MD5 ad49d973cbd754cbdaec6f95b48c1392
BLAKE2b-256 95ea5de042a175c3c98212f571044e6b93c78c23057e150570ab2c787aee03ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.11.4-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 4357407ca254a5a074116c12ed4cb5e464f17e690710acf2d3d2b936a1451af2
MD5 676147a64ab7ed0cc9b32d84f8d9f507
BLAKE2b-256 bc3bac5f7b2a392baeff276067828930366719293277be6a200b88e4bad9f36a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.11.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b88a20c1287d861ffd430e557083b84f96dc979ed2fb039e365ec575dc0f434
MD5 506dad5bdcea57e50d1af3fb49f7bf3f
BLAKE2b-256 868ed8941ded66a782a7058a7beacc68ba69bb7516b41d93484cbd2371d6dad5

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