Skip to content

Releases: lycosystem/lydata-package

0.4.0

04 Sep 09:26
f66fe8d

Choose a tag to compare

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() of C objects
  • Allow importing LyDataFrame type 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.location to short column access

🐛 Bug Fixes

  • [breaking] Combine mods & lvl info using probabilities over likelihoods
  • Use spec/sens < 1 in augment
  • Make LyDataFrame importable
  • Ensure alignment of columns during combine/augment
  • Change mid-level column from info to core
  • 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 TypeError for pd.NaT
  • Check central info in schema
  • Call logger.error over exception
  • Allow MX=-1 in schema
  • Allow None in more patient fields
  • Side may be None when 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 or to check for None arg
  • [breaking] remove old functions to infer/combine data
  • Move C & Q to 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

22 Jul 14:36
81ab4ad

Choose a tag to compare

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=True default everywhere
  • Simplify Q's query execution a bit

0.3.2

22 Jul 10:37
411657c

Choose a tag to compare

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 side as short column to ly accessor

0.3.1

12 Jul 09:53
a698642

Choose a tag to compare

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

26 Jun 09:24
535f856

Choose a tag to compare

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.md to 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.md examples during automated tests
  • Add build & publish workflows (both PyPI and TestPyPI)