Releases: single-cell-data/TileDB-SOMA
TileDB-SOMA 0.5.0a9
New features added / breaking changes
For this alpha release, many changes are breaking. This is a step toward 1.0rc0 in which we will
try to isolate the (hopefully zero) remaining opportunities for breaking changes before 1.0rc0.
- [python] Export
open
function, to universally open everything by @thetorpedodog in #896 - [python] Add
add_new_collection
implementation by @thetorpedodog in #837 - [python] Add
add_new_dataframe
and_sparse
/_dense_ndarray
by @thetorpedodog in #848 - [python] Create and open objects using
Thing.create()
andThing.open()
by @thetorpedodog in #824 - [python] Add static
exists
method toTileDBObject
by @thetorpedodog in #890 - [python] Generalize
tiledbsoma.io.add_X_layer
toobsm
,varp
, etc. by @johnkerl in #814 - [python] Add timestamp slots in
SOMATileDBContext
and apply throughout by @mlin in #892 - [python] Document newly-created
platform_config
options by @thetorpedodog in #897 - [python] Re-export
somacore
'sAxisColumnNames
at top level by @johnkerl in #881 - [python] Support indices of type
bytes
by @johnkerl in #861 - [r] Support iterated sparse and dense matrix reads by @eddelbuettel in #835
- [r] Support
remotes::install_github
use by @eddelbuettel in #826 - [r] Add iterated readers for SOMA classes by @eddelbuettel in #811
- [python] Add user-level stats hooks, to reach parity with tiledbsoma-r by @johnkerl in #871
- [r] Add stats API accessors by @eddelbuettel in #865
- Use
show_package_versions
in bug-report issue template by @johnkerl in #868 - [r,python] Add
show_package_versions
for bug-report use by @johnkerl in #855 - Create bug-report and feature-request templates by @maniarathi in #728
Internal support for features
- [python] Refactor processing of URIs for collection creation/setting by @thetorpedodog in #889
- [python] Add additional create-time
platform_config
hooks for schema mods by @bkmartinjr in #888 - [python] Pull in
somacore==0.0.0a12
and associated improvements by @thetorpedodog in #882 - [python] Keep only the read or write TileDB handles open long-term by @thetorpedodog in #863
- [python] Track ownership of accessed and added collection members. by @thetorpedodog in #847
- [python] Create
ReadWriteHandle
to manage TileDB handles by @thetorpedodog in #823 - [python] Switch to somacore 0.0.0a10 by @thetorpedodog in #825
- [c++] SOMAReader open-at-timestamp support by @mlin in #788
Minor changes
- [python] Move
io
into submodule and organize variousutil_
files. by @thetorpedodog in #899 - [python] Capture stdout/stderr from
stats_dump
output by @thetorpedodog in #887 - [python] Un-xfail some tests which are now passing by @thetorpedodog in #891
- [r] Validate no allow-duplicates for sparse N-d arrays and dataframes by @johnkerl in #879
- [python]
string_dim_zstd_level
->int64_dim_zstd_level
by @johnkerl in #883 - [python] Schema validation for DataFrame by @johnkerl in #880
- [python] Directly use backend TileDB dimension names for
DataFrame
by @thetorpedodog in #870 - [python] Use the array we already have open to generate the Arrow schema by @thetorpedodog in #869
- [python] Unexpose TileDBArray and TileDBObject by @johnkerl in #856
- Update LICENSE to make the years the same. by @maniarathi in #852
- [python] Make
typeguard_ignore
decorator play nice with Pylance by @thetorpedodog in #849 - [python] Remove
__eq__
method from baseTileDBObject
class by @thetorpedodog in #846 - [python] Pull the common parts of NDArrays into the base NDArray class by @thetorpedodog in #836
- [python] Fix legacy misuse of
urllib.parse.urljoin
by @johnkerl in #832 - [r] Limit builds to unix operating systems by @eddelbuettel in #831
- [r] Add lifecycle-maturity tags to Roxygen blocks by @johnkerl in #829
- [python] Use the contents of
bld
, notsetup.py
, for binary cache by @thetorpedodog in #827 - [python] Add lifecycle maturity tags to public API docstrings by @atolopko-czi in #818
- [python] Move test data to
testdata
folder by @thetorpedodog in #817 - [python] Refactor
factory._construct_member
by @gsakkis in #815
Bug fixes
- [python] Fix and test over-indexing semantics by @johnkerl in #901
- [python] No allow-duplicates for sparse N-d arrays by @johnkerl in #878
- [python] Improve detection of nonexistent-array errors from TileDB Cloud by @johnkerl in #873
- [python] Fix
__del__
error when improperly constructing a TileDB object by @thetorpedodog in #864 - [python] Modify
setup.py
to find system-installedlibtiledbsoma
on POSIX by @nguyenv in #838 - [python] Fix
use_relative_uri
for tiledbsoma.io [post-824] by @johnkerl in #833 - [python] Fix #822 re small tile extents by @johnkerl in #830
New Contributors
Full Changelog: 0.5.0a8...0.5.0a9
TileDB-SOMA 0.5.0a8
Bugfixes
Full Changelog: 0.5.0a7...0.5.0a8
TileDB-SOMA 0.5.0a7
New features added
- [r] Additional matrix readers for NDArrays by @eddelbuettel in #720
- [python] Make add-X-layer logic friendlier by @johnkerl in #793
Breaking changes
Minor changes
- [python] Replace flake8 & isort with ruff by @gsakkis in #751
- [r] Prevent one test script from failing under
rcmdcheck
by @eddelbuettel in #796 - [python] Create an isort (now ruff) config at the root of the repository by @thetorpedodog in #782
- [r] Allow use pbmc3k data package in test by @eddelbuettel in #798
- More unit tests, plus partial fix for #801 by @bkmartinjr in #802
- [python] Propagate context rather than parent.context by @johnkerl in #803
- [python] Do more is-Arrow checks on create and write by @johnkerl in #797
- Import somacore v0.0.0a7, without making any functional changes. by @thetorpedodog in #808
- [python] Pin to specific TileDB core major+minor by @johnkerl in #807
Bug fixes
Full Changelog: 0.5.0a6...0.5.0a7
TileDB-SOMA 0.5.0a6
New features added
- [python] Enable Unicode non-indexed columns by @bkmartinjr in #777
Minor changes
- [r/python] Rename sidf to sdf [trivial] by @johnkerl in #776
- [python] Change _CachedElement._TdbInfo.type from str to type by @gsakkis in #775
- [python] A bit more deadstrip by @johnkerl in #781
- [python] Enhance value filter unit tests by @bkmartinjr in #785
- [python] Additional experiment-query unit tests by @bkmartinjr in #789
- [python] refactor SOMAReader construction into TileDBArray base helper method by @mlin in #787
- Simplify to_tiledb_supported_array_type by @gsakkis in #790
Bug fixes
TileDB-SOMA 0.5.0a5
New features added
Breaking changes
Minor changes
- [python] Add pre-commit hook for mypy and remove explicit mypy step from python-ci by @gsakkis in #743
- Remove pre-main spec file by @johnkerl in #758
- [python] Set up caching for packages downloaded with Pip by @thetorpedodog in #757
- [r/python/c++] Expand tabs that are immediately following spaces by @johnkerl in #754
- [python] Do not export QueryCondition by @johnkerl in #759
- [python] Remove ndims/ndim temp mod, given somacore 0.0.0a4 by @johnkerl in #762
- [python] Cache builds of libtiledbsoma in Python CI by @thetorpedodog in #760
- [python] Cache pre-commit environments by @thetorpedodog in #756
- [python] Replace bare
assert
with typed exceptions by @johnkerl in #746 - [python] Add test for to_anndata column_names by @bkmartinjr in #763
- [python] Add GHA workflow for minimal CI jobs by @atolopko-czi in #750
- [python] Add pandas-stubs for mypy and fix uncovered typing issues by @gsakkis in #772
- [python] Remove unnecessary steps from lint job by @thetorpedodog in #767
- [python] Add test case for issue 768 -- existence of
ExperimentAxisQuery.get_indexer()
by @bkmartinjr in #769 - [r] Simple R UTF-8 test by @johnkerl in #773
Full Changelog: 0.5.0a4...0.5.0a5
TileDB-SOMA 0.5.0a4
Breaking changes
- [python] Import somacore by @johnkerl in #678
- [python] Update to version 0.0.0a3 of somacore. by @thetorpedodog in #732
- [r]
ids
tocoords
as read args by @johnkerl in #748 - [python] Add SomaSessionContext to all SOMA objects by @atolopko-czi in #681
- [python] Prep for ExperimentAxisQuery perf work in
somacore
by @bkmartinjr in #745
New features added
- [r] Add SOMAMeasurement and SOMAExperiment classes by @aaronwolen in #729
Minor changes
- [ci/python] Don't build wheels on each PR push by @johnkerl in #697
- [ci/python] Include missing doc link in wheels YAML by @johnkerl in #703
- [python] build wheels only for CPython (not PyPy) to save CI time by @mlin in #702
- [ci/python] Dedupe PyPI stubs by @johnkerl in #704
- Apply black/isort/flake8/mypy to all repo .py files by @gsakkis in #711
- Add pull_request_template.md by @johnkerl in #712
- Add quote marks around a few strings in C++ errors. by @thetorpedodog in #721
- [python] Update pyarrow dependency by @johnkerl in #714
- [python] Separate pip installation of prereqs and tiledbsoma itself. by @thetorpedodog in #717
- [python] Stronger type checking by @gsakkis in #726
- Add CZI to the license and modify to include 2023 by @maniarathi in #727
- [python] Audit for bare Exception by @johnkerl in #742
- [python] Take ndim accessor from somacore by @johnkerl in #747
Bug fixes
Upcoming deprecation notices
New Contributors
- @maniarathi made their first contribution in #727
- @atolopko-czi made their first contribution in #681
Full Changelog: 0.1.20...0.5.0a4
TileDB-SOMA 0.1.22
What's Changed
This simply loosens the version dependency on tiledb-py
, while still preferring the most recent version.
Full Changelog: 0.1.21...0.1.22
TileDB-SOMA 0.1.21
What's Changed
Nothing new from 0.1.20, except 0.1.20 was missing a wheel at PyPI. This release fixes that.
Full Changelog: 0.1.19...0.1.21
TileDB-SOMA 0.5.0a3
Breaking changes
Major query improvement:
- [python] ExperimentAxisQuery by @bkmartinjr in #632
Improved names for read
methods:
- [python] Fluent API changes for read methods by @bkmartinjr in #663
New features added
Minor query improvements:
- [c++] Support empty range query by @gspowley in #618
- [c++] Support empty range query and Arrow nullable fields by @gspowley in #622
- [python] Support indexing by [] -> empty results in Python by @johnkerl in #623
- [python] DataFrame count accessor by @johnkerl in #637
- [python] Add len(dataframe) by @johnkerl in #649
Ingestion-UX improvements:
- [python] Less-in-core ingest from H5AD [main] by @johnkerl in #640
- [python] Resume mode [main] by @johnkerl in #664
- [python] More memory-reduction for ingest [main] by @johnkerl in #682
Minor changes
- [r] Add SOMACollection class by @aaronwolen in #606
- [r] Rename NdArray -> NDArray by @johnkerl in #609
- [python] Shorten class constants using
Final
typing feature by @thetorpedodog in #616 - [c++] Add clang-format check to CI by @gspowley in #617
- Add wiki link to README.md by @johnkerl in #619
- [c++] Add SOMAReader reset for stateful API changes by @gspowley in #624
- [r/ci] Fix and re-enable CI macOS builds by @aaronwolen in #629
- [python] Update to setuptools 65.5.1 [main] by @johnkerl in #630
- [r] Adjust SparseNDArray test to renamed soma_data method by @eddelbuettel in #634
- Python 3.7 CI by @johnkerl in #620
- [r] Regularize test-file naming [main] by @johnkerl in #553
- [python] Add some docstrings by @johnkerl in #635
- [python] Deadstrip some old code by @johnkerl in #647
- [r] Correct handling of soma_joinid and soma_rowid by @aaronwolen in #642
- [r] Enhancements to SparseNDArray by @eddelbuettel in #645
- [python] Temp pin to TileDB-Py 0.19.0 by @johnkerl in #651
- [python] Typofix by @johnkerl in #648
- [python] Fixing typing_extensions dependency by @johnkerl in #650
- [python] setup.*
typing-extensions
vsimport typing_extensions
by @johnkerl in #655 - [python] Remove _indent by @johnkerl in #658
- [python] Trivial io-module function-reorder by @johnkerl in #662
- [python] Complete basic anndata I/O tests by @johnkerl in #667
- [python] Use RNA not mRNA in examples/tests by @johnkerl in #665
- [python] Simplify setup by @gsakkis in #674
- [python/ci] Fix setup.py to play well with cibuildwheel by @gsakkis in #677
- [python] Trivial comments for wheel-build by @johnkerl in #676
- [python] Prep for import somacore by @johnkerl in #673
- [python] Remove duplicate
test_general_utilities.py
file. by @thetorpedodog in #680 - [python] Add a few hints so mypy knows what type things are. by @thetorpedodog in #683
- Remove bdist_egg command & unused names from setup.py by @gsakkis in #691
- [python] Bump versions of precommit hooks by @gsakkis in #692
- [r] Additional sparse test code by @eddelbuettel in #690
- [ci] Use paths-ignore to avoid R CI for Python commits and vice versa by @johnkerl in #694
Bug fixes
- [python] Honor AWS_DEFAULT_REGION if no overriding ctx is specified by @johnkerl in #625
- [r] Fix storage of int64 values by SOMADataFrame by @aaronwolen in #639
- [python] Do not use extent 2048 on 8-bit index types by @johnkerl in #653
- [r] Fix creation of SOMADataFrames with non-int32 dimensions by @aaronwolen in #657
- [python] Unbreak editable install from clean by @johnkerl in #689
Upcoming deprecation notices
- Experiment-level
open
andclose
, including open-at-timestamp support ids
in some methods vscoords
in others to be aligned (#686)- Add explicit
context
to the API (#644)
Full Changelog: 0.5.0a2...0.5.0a3
TileDB-SOMA 0.1.20 (do not use)
-- DO NOT USE -- CREATED IN ERROR --
This was tagged from main
when it should have been tagged from main-old
.
This has been yanked from https://pypi.org/project/tiledbsoma
Major
Ingestion UX:
- [python] Less-in-core ingest from H5AD [main-old] by @johnkerl in #627
- [python] Resume-ingest mode [main-old] by @johnkerl in #628
Dependency updates:
- Update to TileDB 2.13 [main-old branch] by @johnkerl in #586
- [r] TileDB-R 0.17.1 by @johnkerl in #670
- [python] Update to schema-only mode for subsequent single-soma ingests [main-old] by @johnkerl in #546
Minor
- [r] Release 0.1.19 by @aaronwolen in #621
- [python] Update to setuptools 65.5.1 [main-old] by @johnkerl in #631
- [r] Regularize test-file naming [main-old] by @johnkerl in #554
- [python] No more memory reduction [main-old] by @johnkerl in #687
- [python] Improve resume-mode/schema-only testing [main-old] by @johnkerl in #666
Full Changelog: 0.1.19...0.1.20