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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 macOS 11.0+ ARM64

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

Uploaded CPython 3.10 macOS 11.0+ ARM64

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

Uploaded CPython 3.9 macOS 11.0+ ARM64

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

File metadata

  • Download URL: tiledbsoma-1.13.0rc0.tar.gz
  • Upload date:
  • Size: 426.8 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.0rc0.tar.gz
Algorithm Hash digest
SHA256 f61cf187e6e12c10833d290544544e1c4f606fd0016add4e72aecc870ec58aab
MD5 4f7558a1a2d40cd08e5efb53fdd3ed54
BLAKE2b-256 1c139c7973f25cef9d577bdf1f7bf8ee99dd1e27a8b436c05dfbec1a838af5b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f0426baa75596b867019dd4a1760232118b9764f3acd4753f52f86544d25ddf
MD5 d0f98766926acca08333072854f03361
BLAKE2b-256 94943a8172ea8fc482c1df3421020e3fb6c749cd458aa91617015dfdf076c97d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0rc0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 4f10757507a92ca4969527679a2f5b2e9115d4a031b20c23c05f0f907a0b445a
MD5 b3747c94f36da20560c2c0f8c1e056e3
BLAKE2b-256 8abce1483bdcbc765b5cd4aede74e0610b0d9fce8b1197855450148488c29b55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0rc0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 192b602f9db13ac68accb4ac317d3463884abe86cd426f60ea2e35e24efc195a
MD5 b1fda11e5bfd93b1246ea0eeac45d12d
BLAKE2b-256 5a8e58158e0a64ecf09cd012a25703114c60f20ad38cfd0e10421e4a56343a76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b906e3eaa2600db90a3531dc69a48b48c3e1ce2272d2736d7a81ad5488592f11
MD5 752323f12a413a7c9bf08148adcb24fa
BLAKE2b-256 6e61d5eafb078f1db763e17ca1cc0152180c0dd4b0970cd5ff75dbcc0b3a7540

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0rc0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 8233be61a04a06091e0fb608cbbca1b67a81ac319d91ce662c5eb23a9a4d6a2a
MD5 af175437cd222c035e2cb15fb84c3c4a
BLAKE2b-256 8e7900b79b0f997a50de5c29658dae22a2af4de6c994528ed0f054e306715b21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0rc0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33cfaf04c21998b75519765ff9ced554d022f9cedc0b2925a6aee598be1161ef
MD5 5432fabab73313702b911f689500beec
BLAKE2b-256 68aac7e73ccc0cc974c7708df78518de18882d28e793e8a6e2483e9dc6e429de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0cec6b9ecf4da3e35046e7acd163df0724102a438cecc631b283037478c17528
MD5 6d993511f37b15df2e5a14bc5fb009fc
BLAKE2b-256 474afbfb83432a11e5d6cfaae633e9676223e8be2c5b46776786bcc1ca9cbe55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0rc0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 e3a9a578ab1e5a2609ddbf8c78129a0f5b26a0294675984a04f9d105e38d1d85
MD5 6509dc31e2868f930f89b198ecb60820
BLAKE2b-256 2af5a1f60e087081589f610e45b7cb469206c2b615a7845535a1e296ab7b9db0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0rc0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a58770b6a28738ee89176f999bc97917e7dffe67ba9aa81fc550e15611be33d6
MD5 de072ec7cfb5b838ff9359d7977c9548
BLAKE2b-256 aed39741ebfdd0906685254f925886af2c7d3eef8a9144e47dda0ef636ff0dbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ad5e608a27ed889d47c1002994182f3284c34c3fd2bd05a13951bbe830b6b829
MD5 98b76f4552d806f10cd62fca3babddab
BLAKE2b-256 4e8217682c808f7c44bd6eb21e7062feb1cc14e8e3a855675f3817022ea95b98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0rc0-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 4d41495dc53c03bca8f7c2641019087724e7303c0ef96c234133a5c7fe03dcea
MD5 757225803d22489e95d33257df047a9b
BLAKE2b-256 a1c85c2a1b557c7057b2507a2c5c278f16296277aaead95dc929911e816538b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tiledbsoma-1.13.0rc0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1338d96722c8b87d83e9c86f1914bf5439a7674185dbe3fad5d27c0e3916ef60
MD5 b80939f06dc1f454d57686792695a170
BLAKE2b-256 0f4c0c25d9cd95654604f48af02f6c1b3bf0ed388d3efd747ed3c54a564ebecf

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