Releases: single-cell-data/TileDB-SOMA
TileDB-SOMA 1.2.3
Overview
- Improve Seurat I/O
- Add support for unsigned/public AWS/S3 URIs
- Fix query conditions for boolean attributes in R
New features added
- [r] Seurat <> SOMA Integration Improvements by @mojaveazure in #1305
Minor changes
C++
- [c++] Rename
SOMAArrayReader
toSOMAArray
by @nguyenv in #1283 - [c++] Add Array metadata methods by @nguyenv in #1323
- [c++] Add
cstring
Header toutil.cc
by @nguyenv in #1309 - [c++] Do not install source files by @nguyenv in #1319
- [c++] Install span header by @nguyenv in #1311
- [c++] Move two headers and adjust two include statements by @eddelbuettel in #1318
- [c++] Reorganize directory to separate public and private headers by @nguyenv in #1301
R
- [r] Add new example dataset and methods for accessing example datasets by @aaronwolen in #1298
- [r] Additional neatification of src/Makevars{,.in} by @eddelbuettel in #1321
- [r] Build against shared library
libtiledbsoma
by @johnkerl in #1302 - [r] Condition on more test on SeuratObject by @eddelbuettel in #1320
- [r] Remove all (already unused) cases of the R_BUILD define by @eddelbuettel in #1304
- [r/python] Seurat to AnnData test by @ebezzi in #1316
Python
- [python] Depend on somacore 1.0.2 by @johnkerl in #1292
- [python] Add a run-time type check on contexts provided to
tiledbsoma.io
by @johnkerl in #1297 - [python] Mark
tiledbsoma
as containing type annotations for users by @thetorpedodog in #1324 - [ci/python] Publish to TestPyPI on nightly or manual run by @johnkerl in #1291
- [docs/python] Expand docstrings for
Experiment
andMeasurement
by @thetorpedodog in #1230
Bug fixes
- [c++/r/python] Update to core 2.15.2, TileDB-Py 0.21.3, TileDB-R 0.19.1 by @johnkerl in #1303
- [python] Require TileDB-Py >= 0.21.2 by @johnkerl in #1296
- [python] Tighten TileDB pypi dependency to be a 0.21.x version. by @thetorpedodog in #1299
Full Changelog: 1.2.2...1.2.3
TileDB-SOMA 1.2.2
Highlights
- R Seurat I/O
- Full support for Python 3.11
New features added
-
[r] Add Seurat -> SOMA Ingestor by @mojaveazure in #1146
-
[r] Provide
context()
accessor by @eddelbuettel in #1205 -
[r] Return lists of Arrow 'Table' objects in
read(iterated=TRUE)
by @eddelbuettel in #1214 -
[r] Seurat outgestors expect sparse arrays in
obsm
andvarm
by @mojaveazure in #1225 -
[python/ci] Include Python 3.11 in CI matrix by @johnkerl in #599
Minor changes
-
[r] Coerce
obs_joinids()
andvar_joinids()
to vectors by @mojaveazure in #1281 -
[r][python] Create an AnnData -> SOMA -> Seurat test by @ebezzi in #1263
-
[r] Refine group member caching behavior by @aaronwolen in #1272
-
[r] More renames
SOMAReader
->SOMAArrayReader
by @johnkerl in #1191 -
[r] Improve R query performance with obs and var both specified by @johnkerl in #1195
-
[r] Update result_order docs and defaults by @aaronwolen in #1196
-
[r] Rename NdArray file names to match NDArray class names by @johnkerl in #1218
-
[r] Add
pbmc3k.tiledb
info toapis/r/README.md
by @johnkerl in #1219 -
[r] Static library is configured to install to
lib
by @nguyenv in #1221 -
[r] Correct typo and minor edit to configure by @eddelbuettel in #1231
-
[r] Port ephemeral classes to R by @mojaveazure in #1212
-
[r] Port
TileDBCreateOptions
from Python to R by @johnkerl in #1216 -
[r] Upcast SOMADataFrame coords to int64 by @aaronwolen in #1254
-
[r/ci] Update R MacOS CI, given R 4.3.0 by @johnkerl in #1275
-
[c++] Final rename
SOMA_READER
->SOMA_ARRAY_READER
by @johnkerl in #1201 -
[c++] Omit no-longer-needed libtiledbsoma commit-hash info from
show_package_versions
by @johnkerl in #1207 -
[c++] Ensure cmake parameters are used and passed from superbuild by @Shelnutt2 in #1208
-
[c++] Update MacOS 13 check from #1206 by @johnkerl in #1235
-
[docs] Update name of CZ CELLxGENE Census by @bkmartinjr in #1211
-
[docs] CZI Slack channel name change by @bkmartinjr in #1213
-
[docs/python] Remove
main-old
branch documentation by @atolopko-czi in #1187 -
[ci/python] Auto-create a GH issue on nightly CI fail by @johnkerl in #1233
-
[python/r] Always write TileDB Cloud–specific metadata to Experiments by @aaronwolen in #1286
-
[python] Write TileDB Cloud–specific metadata to Experiments by @thetorpedodog in #1260
-
[python] Add tests for
*_dim_zstd_level
create options by @thetorpedodog in #1215 -
[python] Parse
TILEDB_PATH
andTILEDBSOMA_PATH
insetup.py
by @nguyenv in #1189 -
[python] Include PyPI wheel-publish in release CI by @johnkerl in #1190
-
[python] Put
capacity
on the same footing as otherPlatformConfig
parameters by @johnkerl in #1229 -
[python] Support CLI config arguments in
devtools/ingestor
by @johnkerl in #1227 -
[python] Put
allows_duplicates
on the same footing as otherPlatformConfig
parameters by @johnkerl in #1234 -
[python] Pin anndata to < 0.9 for Python 3.7 since it doesn't support Python 3.7 like we do by @johnkerl in #1252
-
[python] Flexible
--libtiledbsoma
specification insetup.py
by @johnkerl in #1253
Bug fixes
-
[r] Upcast axis query coords to integer64 by @eddelbuettel in #1209
-
[r] Error on incomplete (non-iterated) reads by @eddelbuettel in #1194
-
[python] Explicit casting of Numpy nulls to Arrow nulls by @mojaveazure in #1265
-
[python] Unwrap numpy scalar values when importing
uns
data by @thetorpedodog in #1268 -
[python] Handle ingest of completely empty sparse arrays by @johnkerl in #1267
-
[python] Avoid context leak on group-set-timestamp operation; use TileDB Embedded 2.15.1 by @johnkerl in #1199
-
[python] Wire
context
throughtiledbsoma.io.from_anndata
by @johnkerl in #1224
Full Changelog: 1.2.1...1.2.2
TileDB-SOMA 1.2.1
Bug fixes
The primary purpose of this release is for Conda builds: TileDB-Inc/tiledbsoma-feedstock#9 (comment)
- [python] Don't use
distro
inshow_package_versions
by @johnkerl in #1186 - [R] Fix
to_seurat()
cell-level meta data by @mojaveazure in #1179
Full Changelog: 1.2.0...1.2.1
TileDB-SOMA 1.2.0
Summary
- Support for ingesting
uns
data from AnnData files - Steady progress toward R 1.0 release candidate
- Doc-site evolution
New features added
-
[r] Adding factory methods by @eddelbuettel in #1123
-
[r] Add general opener by @eddelbuettel in #1141
-
[r] Make obj$close() public by @eddelbuettel in #1142
-
[r] Add SOMA Experiment Query -> Seurat outgestors by @mojaveazure in #1119
-
[r] Clarify status of DenseNDArray writes and matrices by @eddelbuettel in #1160
-
[r] Also show osVersion when displaying package versions by @eddelbuettel in #1176
-
[python] Ingest
uns
values from AnnData files by @thetorpedodog in #1157 -
[python] Allow
to_anndata
whenfeature_id
notvar_id
is invar
columns by @johnkerl in #1136
Minor changes
-
[r] Tweak CI on Ubuntu by taking advantage of newest bspm release by @eddelbuettel in #1168
-
[r] Rename
soma_reader
->soma_array_reader
within source code by @johnkerl in #1174 -
[python] Ensure that
libtiledbsoma_dir
is always apathlib.Path
by @thetorpedodog in #1155 -
[python] Include OS info in
show_package_versions
by @johnkerl in #1177 -
[c++] Install cmake Target and Config for libtiledbsoma by @Shelnutt2 in #1159
-
[c++] Pass TILEDBSOMA_ENABLE_TESTING and TILEDBSOMA_BUILD_CLI in INHERITED_CMAKE_ARGS by @Shelnutt2 in #1162
-
[r/python] Support
bytes
metadata field + RSOMA_ENCODING_VERSION
by @ebezzi in #1149 -
[r/python] DenseNDArray R-Python roundtrip testing by @ebezzi in #1158
-
[r/python] fix TestDenseNDArrayWriteRReadPython by @ebezzi in #1163
-
[r/python] SparseNDArray R-Python roundtrip testing by @ebezzi in #1165
-
[c++/r/python] Modify
SOMAReader
ToSOMAArrayReader
by @nguyenv in #1147 -
Filenames
soma_reader
->soma_array_reader
by @johnkerl in #1173 -
[docs/python] Add more lifecycle-experimental indicators to docstrings [WIP] by @johnkerl in #1153
-
[docs] Add notebooks as tutorials to the docsite by @ebezzi in #1140
-
[docs/python] Fix hyperlinks in Sphinx docs by @johnkerl in #1152
-
[docs/python] Add more external links for docsite by @johnkerl in #1154
Bug fixes
- [r] Fix reading very sparse assays by @mojaveazure in #1156
Full Changelog: 1.1.1...1.2.0
TileDB-SOMA 1.0.1
What's Changed
The sole modification in this bugfix update to 1.0.0 is to update the library version of TileDB Embedded. The 1.1.1 release and above is appropriate for general-purpose use.
Full Changelog: 1.0.0...1.0.1
TileDB-SOMA 1.1.1
Primary features
- This release brings in TileDB Embedded 2.15.0, along with TileDB-Py 0.21.1 and TileDB-R 0.19.0, in addition to updates for Conda installs
- Ongoing R development
- No significant changes for Python users
New features added
- Add examples to docstrings by @bkmartinjr in #1109
Bug fixes
- [python] Fix wheel builds given recent Conda-related changes by @johnkerl in #1134
- [ci] Ensure macOS builds use clang instead of gcc by @mlin in #1127
- [python] Pin typeguard to < 3.0 by @johnkerl in #1115
Minor changes
- [r]
SOMASparseNDArray$read_sparse_matrix
: set dims on the returnedsparseMatrix
by @mlin in #1110 - [r]
SOMASparseNDArray$read_sparse_matrix
: set dims on iteratedsparseMatrix
parts by @mlin in #1125 - [r] Fix testing logic for iterated reads from
SOMASparseNDArray
by @mlin in #1112 - [r] Limit pkgdown runs to releases and manual triggers by @eddelbuettel in #1131
- [r] Update documentation with roxygen2 by @eddelbuettel in #1133
- [python] Trivial typofix by @johnkerl in #1120
- [ci] Don't mark a run as failed if coverage upload fails. by @thetorpedodog in #1132
Full Changelog: 1.1.0...1.1.1
TileDB-SOMA 1.1.0 -- please use 1.1.1
Superseded
This release has no installable PyPI wheels and has been marked as pre-release. Release 1.1.1 fixes these issues.
Main goal
This release brings in TileDB Embedded 2.15.0, along with TileDB-Py 0.21.1 and TileDB-R 0.19.0. It also brings in updates for Conda installs.
New features added
Minor changes
- [c++,r,python] Update to core version 2.15.0 by @johnkerl in #1066
- [c++/r/python] Add libtiledbsoma info to
show_package_versions()
by @mlin in #1101 - [c++/python/r] Add
shape
to C++SOMAReader
by @nguyenv in #1083 - [r] Add test for nnz() when duplicates==TRUE by @eddelbuettel in #1107
Full Changelog: 1.0.0...1.1.0
TileDB-SOMA 1.0.0
1.0.0
This is the 1.0.0 release for the TileDB-SOMA Python API. A 1.0 release for the R version is forthcoming.
Feedback, questions, comments, and concerns are all welcomed at https://github.com/single-cell-data/TileDB-SOMA/issues.
New features added
- [docs] Update
README.md
to include API docsites by @johnkerl in #1103 - [python] Get
readthedocs
going by @johnkerl in #1098 - [docs][python] Add experiment-query example notebook by @johnkerl in #1104
- [docs] [python] Notebook - Read from a SparseNDArray by @ebezzi in #1093
- [r] Publish TileDB-SOMA-R
pkgdown
docs to GitHub Pages by @johnkerl in #1095 - [r] Add four
add_new_*
setters toSOMACollectionBase
by @eddelbuettel in #1091 - [r] Implement
PlatformConfig
andSOMATileDBContext
for R by @johnkerl in #1038
Minor changes
- [r] Switch four internal functions to @nord by @eddelbuettel in #1096
- [docs] Update
README.md
with more contextual and onboarding info by @pablo-gar in #1069 - [python] Trivial doc-neatens in prep for web publishing by @johnkerl in #1042
- [docs] Add
pip upgrade
in readthedocs pipeline by @ebezzi in #1094 - [python] Depend on somacore 1.0.0 by @johnkerl in #1105
New Contributors
- @pablo-gar made their first contribution in #1069
Full Changelog: 1.0.0rc6...1.0.0
TileDB-SOMA 1.0.0rc6
New features added
-
[r/c++] Add mode flag to
is_complete()
and addtotal_num_cells()
accessor by @gspowley in #1071 -
[python] Tutorial notebook for SOMA objects by @ebezzi in #1063
-
[python] Add optional shape parameter to
SparseNDArrayRead .coos()
by @ebezzi in #1081 -
[docs] Add SparseNDArray section in tutorial notebook by @ebezzi in #1074
-
[docs] Convert all the modules to Google-style docstrings by @ebezzi in #1070
-
[docs] Fix documentation bug for from_h5ad by @ebezzi in #1075
-
[docs] Add SOMA reading tutorial notebook (part 1) by @ebezzi in #1079
Minor changes
- [c++/r/python] Push down stats to
libtiledbsoma
; pass config not context tosr_setup
by @johnkerl in #1072 - [r] Implement
tiledbsoma:::tiledb_embedded_version
by @johnkerl in #1077 - [r] A bit more dev advice for R by @johnkerl in #1080
- [r] Don't doubly specify in a unit-test case by @johnkerl in #1084
- [r] Handle config in non-iterated readers by @johnkerl in #1085
- [python] Depend on somacore 1.0.0rc6 by @johnkerl in #1092
Bug fixes
- [r] Support callers not having done
library(tiledb)
by @johnkerl in #1082 - [r] Avoid "Error: Can't convert input object to pointer" by @johnkerl in #1078
Full Changelog: 1.0.0rc5...1.0.0rc6
TileDB-SOMA 1.0.0rc5
Key features of this release are #1053 and #1061.
New features added
- [python] Support ingest of H5AD dense X as SOMA sparse X by @johnkerl in #1061
- [r] Expand developer instructions in
apis/r/README.md
by @eddelbuettel in #1054 - [r] Add
index_column_names()
(as an aliases todimnames()
) by @eddelbuettel in #1056 - [r] Test-drive
apis/r/README.md
on a fresh EC2 instance by @johnkerl in #1060
Breaking changes
Minor changes
- [docs] Convert docstrings in
_collection.py
to Google style by @ebezzi in #1044 - [r] Refactor arrow export by @eddelbuettel in #1052
- [python] Run packaging workflow nightly by @mlin in #1059
- [python] Polish
version.py
by @mlin in #1057 - [python] Constrain numba & numpy versions for compatibility with old pip solver by @mlin in #1058
- [python] Code-neaten follow-up for #1061 by @johnkerl in #1065
- [python] Depend on somacore 1.0.0rc5 by @johnkerl in #1067
New Contributors
Full Changelog: 1.0.0rc4...1.0.0rc5