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

Uploaded Source

Built Distributions

tiledbsoma-1.13.0-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.0-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.0-cp311-cp311-macosx_11_0_arm64.whl (22.1 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tiledbsoma-1.13.0-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.0-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.0-cp310-cp310-macosx_11_0_arm64.whl (22.1 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tiledbsoma-1.13.0-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.0-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.0-cp39-cp39-macosx_11_0_arm64.whl (22.1 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tiledbsoma-1.13.0-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.0-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.0-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.0.tar.gz.

File metadata

  • Download URL: tiledbsoma-1.13.0.tar.gz
  • Upload date:
  • Size: 428.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.13.0.tar.gz
Algorithm Hash digest
SHA256 274805f93ae3276a9c3bfd2f085fec3da4361479a9b6ed4f7c32a4c880ac71cd
MD5 83e06f8d77d1c9ef2d6b84123715280a
BLAKE2b-256 aeb76db3bf2bfde66dc47dacd146f4e49c62bd085934c0d8360d331c6e99a677

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2373168b7ce976c5f4334ec9db0d8c350c05cb4dcd8f1ade1ae4f20214615a98
MD5 aa2d8c249bfae86257bb89f8a3176cf8
BLAKE2b-256 edcc58037577bd25819dc61b461a3e0850c1b62f812540618b2269e128c0d636

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 d78a83283fc5674cc06551edacd553ad2650627f79dc810896cfbf5a41027d3e
MD5 d2ca2667f3152b3d60a1ae15bb67ca2b
BLAKE2b-256 e34b30d5990351e5c3c7713352797d0a87a80906761d0bcacb8d02e3af16c42b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e282bd562a01afc63711ccba949847cc0aef94e443a7ce5d304cd66ddb1f09e3
MD5 41e1c02d2812b09f6e692c1e373c0947
BLAKE2b-256 da8e5d5d8e8948cec32a295da911b96506ab73b38e943ed203d9b3a6ecbe5fdb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 11e7d62847c12eb048c4a5dd54386fa86b75439c30c00dacf856d9f3c8d9dca8
MD5 d78ed850fb43e23b510d83478a62eef1
BLAKE2b-256 3dccbfe01a75beb73ed7748551efc6dbc4563aeac0ba415b5a806a728c7efc75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 5effeace6cd5a09c8a4ed84bf5ff0c6eb7f83dbe0eb5267995b647eca4e85e4a
MD5 02e276ba61db9b08aa9f303e04ad110f
BLAKE2b-256 07ea0e2316b4fdde3b7118a82590e9c3ec0290566dae3de1fd398f769eecebd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b3329c2f4117f98b2f6be619fc407f5806b90934f73c1dc493ce40307bc8519
MD5 93ef79e15a0b0dce638a6caa2ea0769b
BLAKE2b-256 b067977fff6051649fac24a0169fbfdac6f2c2d445ce210d294248d4b1ebb32f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64f5be94593d56d00bb8941a429db21bb88ef00f276a7ab3ef1eedb2389f865f
MD5 29cbdf431d6cd4d87794c3218d95a46f
BLAKE2b-256 9f1263f524622804038c2e75ca8e22cccd8568a7bebdc7cdfc333a3754592c61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 b9887d5a09a321176f386384473cce2fe04669df06b891fc152d2a1d8c3a4cf4
MD5 5c54f47677e01a97f84f4ad0981cec2f
BLAKE2b-256 91c7c01541e42a6a0d3f4adec44df7b9f5986c1872b1eebc0844bb79d9c2af4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 62fdedf198546981fff5c2036e18d28eb974e65dc88b82c2031a1d413a9234eb
MD5 d5b1a4503e73e0fd6809fd3e06a0e5bf
BLAKE2b-256 3666d8048390a01498e8b838d5e8c055ba8fb7108d42da5e81bf36fa513d7750

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e4f809a2369e275886bfa297f969ebc992fd2e71ccac8fabb8a3b0172e23653
MD5 512870eb359822c6407f2818dd8077e0
BLAKE2b-256 a34345a1a1a58e0b8cee7b3ca8fffa1c99c58ba1c286c5ed0077416c057baf1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 15720b0df9a1ae36981a46a4acd9e38ca13951dcbf6421b3b66b2eba3f435473
MD5 b4ab43ce6f8be32767aeae70fcd47bde
BLAKE2b-256 c8d50a4b71f655aa51e21e8c1bb9a8f2ea9e19276e4d5c32f18dffe8f0f53ad0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e499ed20c1b1128cd96bb23827f1d7d6c5180243a69e9e171c38c3208f48092
MD5 e540928c75b231726893dd49cc5c1c63
BLAKE2b-256 5ed568ee7d5526bd34f2402476ac35bebe115e2770c66702e32ed0ffe2be1fe9

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