Python API for efficient storage and retrieval of single-cell data using TileDB
Project description
Overview
This is a Python implementation of the Unified Single-cell Data Model.
This branch, main
, implements the updated specfication. Please also see the main-old
branch which implements the original specification.
Installation
Using pip
This code is hosted at PyPI, so you can do
$ python -m pip install tiledbsoma
# or
$ python -m pip install --pre tiledbsoma
Without --pre
you will get version 0.1.* (the main-old
branch); with --pre
, you will get 0.5.0a* (the main
branch).
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
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 thencd apis/python
python -m pip install .
- Or, if you wish to modify the code and run it,
python setup.py develop
- Optionally, if you prefer, you can run that inside
venv
:$ python -m venv venv $ . ./venv/bin/activate $ python -m pip install .
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for tiledbsoma-1.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c98a08debafe807c2b8caf7a4f4c77c47ba46a3e2e53f93ac8e4704e89cebe4 |
|
MD5 | c84843ea831032e463f123bd344426fb |
|
BLAKE2b-256 | 61d2ed8a0c12ff41b7e7dcda8dc139d570dced454ee8168e42525cb36487f5e1 |
Hashes for tiledbsoma-1.0rc0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42b63f33429d8670e7f04d9897834cd9cc617c254b3d5252f5c72a8ae1e6ef93 |
|
MD5 | d39d408a9ba96c9e98079564ce0f954c |
|
BLAKE2b-256 | 14946d1f7809fc2083359b9830f72bee3cb792ffc4b5cd113d112f99d3734669 |
Hashes for tiledbsoma-1.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9333620f7c3cd0b33836dd55b2e7f0d6d32692cfa378b2e0cdc247331e901bae |
|
MD5 | 862e5803e08a0dd290c43a47edd2def1 |
|
BLAKE2b-256 | 55e01dcd5557c12d65a964848b782d4dd968627e3cd49ff24fea9378ccf1f57a |
Hashes for tiledbsoma-1.0rc0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef91aec90f602446fd7d6594758e30d78a7a209e3f208e35c37a08a01236faaa |
|
MD5 | 73f197cf5bb4bc201a8be1d360a0452f |
|
BLAKE2b-256 | 0ef837ba10ab73a74988139397139094e952fbdb77a7aa870416782e32a3359d |
Hashes for tiledbsoma-1.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2b77cb5794f71c415b9601fbc3bd3087e5706924bfee0cd4baa27545d7b17b7 |
|
MD5 | 449480075e5b9177b2703ff171dfc29b |
|
BLAKE2b-256 | 9c54a539f79181c1df0f8a86f4ddc39d9f91932edfc1c2f6a67cf01e0606ca3c |
Hashes for tiledbsoma-1.0rc0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2a9f66a6871a21313cbddf6c4c7f4dab1cbc52c2f2e47ec00b428fcc5770b12 |
|
MD5 | 070bc6bb7335202ffe3ea69593e56e22 |
|
BLAKE2b-256 | e34467ce9dfabb04e5642ec5c7dfd1b778a9086ed1e696447e3444b78746731b |
Hashes for tiledbsoma-1.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bcbd05a1f3a0c6d7caa71bedc93694bf11acd52fb38d83b091064968fc570f9 |
|
MD5 | 661e137b8df0fe0b7cd73bd5752f4e8a |
|
BLAKE2b-256 | ed2d1c04c32d0002c44134bc266e3bc96d90bd0b0f81950e4d71e9ae70500df0 |
Hashes for tiledbsoma-1.0rc0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7eb99c9bc66d8e5248774b8e5d7cfa562786d29ce30ce8dcce8eebec7668f03 |
|
MD5 | aec7c81554d4c2e0649490d9a62a19f5 |
|
BLAKE2b-256 | 32852673a3777a5096d0f6a174b6c591fa3058f143591b3a5f306672ee62782a |
Hashes for tiledbsoma-1.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc953f318f359a3841f8abd76a6917a32c8907c8f8d46d45eec6f21e94b16712 |
|
MD5 | 74d85132d23a0644801558dbc6fbf7ef |
|
BLAKE2b-256 | 31cb523409374ff334502a333623ef103e32bc1599b354ff460473cfde66b83d |
Hashes for tiledbsoma-1.0rc0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40ff867b262f4743e299f192d00060fe96a3a13d895349b05aded24bf3133652 |
|
MD5 | 07d1dbc95a2a60482540e3305aba8f3e |
|
BLAKE2b-256 | 1b4fd7bd9d13cb7770b3db7d76f049157b29b4951cd2b9ce7a894e69fde47d0c |