Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #1793 +/- ##
==========================================
- Coverage 77.59% 76.05% -1.55%
==========================================
Files 87 136 +49
Lines 7784 10552 +2768
Branches 0 206 +206
==========================================
+ Hits 6040 8025 +1985
- Misses 1744 2433 +689
- Partials 0 94 +94
Flags with carried forward coverage won't be shown. Click here to find out more.
|
7ee0b85 to
8992661
Compare
c0d02b0 to
4e63bc4
Compare
7db68e1 to
2c8fa29
Compare
4477714 to
4306121
Compare
thetorpedodog
left a comment
There was a problem hiding this comment.
(the usual disclaimer that I’m mostly looking at the Python side for style etc. and didn’t look at the C++ code in detail)
I should add that I like the way the open-and-select-the-right-wrapper thing works now. It’s very well structured and understandable. |
d5f4dc5 to
8f7951e
Compare
johnkerl
left a comment
There was a problem hiding this comment.
Nothing huge to sugggest -- some spelling changes etc
* Move `PyQueryCondition` Into `common.h` * Use Pyarrow Schema instead of TileDB ArraySchema * Remove TileDB-Py dependency * No longer requires attr-to-enum mapping passed for dictionaries as this can be checked in Pyarrow Schema now
* Eventually the `arrow_schema` calls should replace `schema` but quite a few things still depend on the TileDB ArraySchema so this is going to be temporarily punted for now
* The R API should be refactored soon to not rely on tiledb::ArraySchema
7c4b511 to
03e7a61
Compare
03e7a61 to
53cca7e
Compare
|
@beroy I have now merged your changes into my PR. The only change I did was move your reindexer unit tests to reside within the |
Issue and/or context:
Running Changes:
DataFramein read-mode, useDataFrameWrapperwhich wraps aroundclib.SOMADataFrame. Otherwise,DataFrameshould use the already existing write-path withArrayWrapperwhich wraps around a TileDB-Py ArraySOMADataFrameneeds to use sparse arraySOMADataFrame::countneeds to usennzcreateneeds to setsoma_object_typeandexistsneeds to checksoma_object_typeSOMADataFrameDataFrameWrapperandArrayWrapper(i.e nonempty domain, attr names, dim names, etc)SOMADataFrame_query_condition.pyno longer has dependency on TileDB-Py and uses Pyarrow schema instead of TileDB ArraySchema andSOMAErrorinstead ofTileDBErrorPyQueryCondition(note: should refactorQueryConditionto completely removePyQueryConditionusage) intocommon.hSOMAArraynow resides in its ownsoma_array.ccfilepytiledbsoma.ccis now the top-level file that contains stats bindings and loads modules fromquery_condition.cc,soma_array.cc,soma_dataframe.ccSOMADataFrameArrowAdapter::to_arrowreadPybind11 function now uses correct Arrow schema to convert dictionary arrays when importing from C to PythonSOMAObject::schemareturnsArrowSchemawhich calls fromSOMAArray::arrow_schemaunique_ptr<SOMAObject> SOMAObject::openand bind in Pybind11 asclib.SOMAObject.openwhich returns the correct Python SOMA classRuntimeErrorshould raiseSOMAError#783