Nannyml

Latest version: v0.12.1

Safety actively analyzes 682251 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 7

0.8.1

Not secure
Changed

- Thorough refactor of the `nannyml.drift.ranker` module. The abstract base class and factory have been dropped in favor
of a more flexible approach.
- Thorough refactor of our Plotly-based plotting modules. These have been rewritten from scratch to make them more
modular and composable. This will allow us to deliver more powerful and meaningful visualizations faster.

Added

- Added a new univariate drift method. The [`Hellinger distance`](https://nannyml.readthedocs.io/en/v0.8.1/how_it_works/univariate_drift_detection.html#hellinger-distance), used for continuous variables.
- Added an [extensive write-up]() on when to use which univariate drift method.
- Added a new way to rank the results of univariate drift calculation. The `CorrelationRanker` ranks columns based on
the correlation between the drift value and the change in realized or estimated performance. Read all about it in the
[ranking documentation](https://nannyml.readthedocs.io/en/v0.8.1/how_it_works/ranking.html)

Fixed

- Disabled usage logging for or GitHub workflows
- Allow passing a single string to the `metrics` parameter of the `result.filter()` function, as per special request.

0.8.0

Not secure
Changed

- Updated `mypy` to a new version, immediately resulting in some new checks that failed.

Added

- Added new univariate drift methods. The [`Wasserstein distance`](https://nannyml.readthedocs.io/en/latest/how_it_works/univariate_drift_detection.html#wasserstein-distance) for continuous variables,
and the [`L-Infinity distance`](https://nannyml.readthedocs.io/en/main/how_it_works/univariate_drift_detection.html#l-infinity-distance) for categorical variables.
- Added usage logging to our key functions. Check out the [docs](https://nannyml.readthedocs.io/en/latest/usage_logging.html#providing-a-env-file) to find out more on what, why, how, and how to
disable it if you want to.

Fixed

- Fixed and updated various parts of the docs, reported at warp speed! Thanks [NeoKish](https://github.com/NeoKish)!
- Fixed `mypy` issues concerning 'implicit optionals'.

0.7.0

Not secure
Changed

- Updated the handling of "leftover" observations when using the `SizeBasedChunker` and `CountBasedChunker`.
Renamed the parameter for tweaking that behavior to `incomplete`, that can be set to `keep`, `drop` or `append`.
Default behavior for both is now to append leftover observations to the last _full_ chunk.
- Refactored the `nannyml.drift` module. The intermediate structural level (`model_inputs`, `model_outputs`, `targets`)
has been removed and turned into a single unified `UnivariateDriftCalculator`. The old built-in statistics have been
re-implemented as `Methods`, allowing us to add new methods to detect univariate drift.
- Simplified a lot of the codebase (but also complicated some bits) by storing results internally as multilevel-indexed
DataFrames. This means we no longer have to 'convey information' by encoding data column names and method names in
the names of result columns. We've introduced a new paradigm to deal with results. Drill down to the data you really
need by using the `filter` method, which returns a new `Result` instance, with a smaller 'scope'. Then turn this
`Result` into a DataFrame using the `to_df` method.
- Changed the structure of the [pyproject.toml](pyproject.toml) file due to a Poetry upgrade to version 1.2.1.

Added

- Expanded the `nannyml.io` module with new `Writer` implementations: `DatabaseWriter` that exports data into multiple
tables in a relational database and the `PickleFileWriter` which stores the
pickled `Results` on local/remote/cloud disk.
- Added a new univariate drift detection method based on the Jensen-Shannon distance.
Used within the `UnivariateDriftCalculator`.

Fixed

- Added [lightgbm](https://github.com/microsoft/LightGBM) installation instructions to our installation guide.

0.6.3

Not secure
Changed

- `dependencybot` dependency updates
- `stalebot` setup

Fixed

- CBPE now uses uncalibrated `y_pred_proba` values to calculate realized performance. Fixed for both binary and
multiclass use cases [(98)](https://github.com/NannyML/nannyml/issues/98)
- Fix an issue where reference data was rendered incorrectly on joy plots
- Updated the 'California Housing' example docs, thanks for the help [NeoKish](https://github.com/NeoKish)
- Fix lower confidence bounds and thresholds under zero for regression cases. When the lower limit is set to 0,
the lower threshold will not be plotted. [(127)](https://github.com/NannyML/nannyml/issues/127)

0.6.2

Not secure
Changed

- Made the `timestamp_column_name` required by all calculators and estimators optional. The main consequences of this
are plots have a chunk-index based x-axis now when no timestamp column name was given. You can also not chunk by
period when the timestamp column name is not specified.

Fixed

- Added missing `s3fs` dependency
- Fixed outdated plotting kind constants in the runner (used by CLI)
- Fixed some missing images and incorrect version numbers in the README, thanks [NeoKish](https://github.com/NeoKish)!

Added

- Added a lot of additional tests, mainly concerning plotting and the [`Runner`](nannyml/runner.py) class

0.6.1

Not secure
Changed

- Use the `problem_type` parameter to determine the correct graph to output when plotting model output drift

Fixed

- Showing the wrong plot title for DLE estimation result plots, thanks [NeoKish](https://github.com/NeoKish)
- Fixed incorrect plot kinds in some error feedback for the model output drift calculator
- Fixed missing `problem_type` argument in the Quickstart guide
- Fix incorrect visualization of confidence bands on reference data in DEE and CBPE result plots

Page 4 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.