Releases: lycosystem/lydata-package
0.4.0
What's New
Most importantly, the combining and enhancing of the datasets did have some bugs that caused wrong involvement in some special cases. This has been fixed. The methods and functions doing all this also had to be renamed/rewritten, so there are some breaking changes in that regard.
This new version is now also compatible with the upcoming new lyDATA format, where we use core over # and 1 as the mid-level column header for patient and tumor.
🚀 Features
- Allow custom functions via
.pass_to()ofCobjects - Allow importing
LyDataFrametype from root - Add working sorting functions for
LyDataFrame - Add convenience
.ly.enhance()method - Add pydantic patient/tumor model
- Add schema for modalities
- Add working dtype casting function
- Add
.ly.cast()to lydata accessor - Add function to write JSON schema to file
- Add pre-/suffixes to T/N stages in schema
- Casting, validating, & enhancing during load
- Add a
.get_tnm()helper method - Fail more informatively when loading. Fixes [#10].
- Add
.ly.locationto short column access
🐛 Bug Fixes
- [breaking] Combine mods & lvl info using probabilities over likelihoods
- Use spec/sens < 1 in
augment - Make
LyDataFrameimportable - Ensure alignment of columns during combine/augment
- Change mid-level column from
infotocore - Don't override superlevel when sublevels unknown
- Join using "outer" in
.ly.enhance() - Avoid
Nones due to index mismatch etc. - Replace instead of udpdate augmented columns
- Augment during combine for max_llh/rank
- Use default subdivisions in
.ly.enhance() - Make casting safer and better
- Avoid pydantic's weird
TypeErrorforpd.NaT - Check central info in schema
- Call
logger.erroroverexception - Allow MX=-1 in schema
- Allow
Nonein more patient fields - Side may be
Nonewhen central=True - Make some fields robust to uppercase strings
- Allow loading from disk using custom paths
- Get github fetch working again
💼 Other
- Don't use
orto check forNonearg - [breaking] remove old functions to infer/combine data
- Move
C&Qto own module - [breaking] Update schema for new 2nd lvl cols
- Improve final sorting of tables
- [breaking] Rewrite validation using new schema
- [breaking] Start using only pydantic schema for validation
- Update mid-level cols to new
core - Remove typer dependency
📚 Documentation
- Add more info to augment/combine
- Update some docstrings
- Add docstrings to JS code
- Update schema & validation docstrings
- Add new modules to sphinx
🧪 Testing
- Test new combine/augment with CLB patient 17
- Add basic
.ly.combine()test - Add scripts to compare augment/combine
- Check one patient with specific issue
- Add util doctest (though unnecessary)
- Add some more patient-specific checks
- Ensure basic functionality of schemas
- Cover casting with minimal checks
- Update schema test to use
core, too - Add another 2025-USZ patient to test cases
- Fix small issues causing tests to fail
- Update to new, cast data
- Ensure .env is loaded during all tests
0.3.3
What's New
Some smaller changes also related to the change of the lyDATA 2nd header format.
🚀 Features
- Add simple utility to detect if dataset uses old 2nd level headers.
💼 Other
- Make
use_github=Truedefault everywhere - Simplify
Q's query execution a bit
0.3.2
What's New
Some minimal edits and fixes to ensure the package will smoothly work with the slightly changed header names of the lyDATA tables.
🚀 Features
- Work with new 2nd level headers (see this lyDATA issue)
- Add
sideas short column tolyaccessor
0.3.1
What's New
A bug fix related to the inference of superlevels from sublevels. It was discovered and dicussed in a related LyProX issue.
🐛 Bug Fixes
- A superlevel must be unknown, when one sublevel reports "healthy" and the other "unknown". Fixes #5.
🧪 Testing
- Add doc- & unittest for correctly inferring superlevel. Related to #5.
0.3.0
What's New
The Python package lydata was pulled out of the data repository lyDATA and placed into this lydata-package repo. This release marks the first one from this "spin-off".
The main change is that it is no longer easily possible to ship the published lyDATA cohorts with the package. Therefore, we enabled fetching the data from GitHub even without authentication and made it the default, as opposed to searching on disk.
🧪 Testing
- Convert examples in
README.mdto valid doctests
💼 Other
- [breaking] Use github by default to fetch datasets
- Fetching from GitHub now works without authentication/token, too
⚙️ Miscellaneous Tasks
- Run doctest over
README.mdexamples during automated tests - Add build & publish workflows (both PyPI and TestPyPI)