NEWS


rplatypus 2026-10-14

Changed

rplatypus 2026-10-07

rplatypus 0.8.0

This file has a gap and it is named rather than backfilled. The entry below is dated 2026-10-08 and the pin moved twice between then and here - to 0.8.0a12 for fives-unet (#151) and to 0.8.0a20 for the instance task (#155) - so the dates above this heading are not a complete record of what the pin did. Writing those entries now would be writing them from the commit log rather than from the work, which is a different thing from having written them; the heading says what this change is and the omission stays visible.

Changed

Fixed

Added

Changed

Added

Changed

rplatypus 0.7.0

Changed, and it breaks code

Added

Fixed

rplatypus 0.6.0

Added

Fixed

rplatypus 0.4.0

rplatypus 0.3.0

The day the package stopped being a bridge and became a surface. Five engine releases, each followed here.

rplatypus 0.2.0

The package exists.

[0.1.1] - 2020-10-17

The last release of the TensorFlow package, kept here for the record rather than as an ancestor of the entries above. It built Keras models through the R keras package: yolo3() and darknet53() with load_darknet_weights() for the original Darknet weights, a plain u_net(), segmentation_generator(), loss_dice(), the COCO and VOC colormaps, and readers for LabelMe JSON and Pascal VOC XML.

It is still installable and still pinned:

remotes::install_github("maju116/[email protected]")

Its source is on the master branch and the issues filed against it stay open. What has aged is its dependencies rather than its code - the pinned TensorFlow no longer installs on a current Python, which is the reason for a rewrite rather than a consequence of one.

rplatypus 0.1.1

This was in the README until 2026-10-07 - seventy lines between ## Installing and the first example, about a version the reader does not have, before the one they do. It is here because this file is where R keeps what changed between versions, and because the renames table below was a second copy of one the README already carried; the fuller of the two survived.

Code written against the 2020 release will not run on this one. That version built Keras models through the R keras package and handed them back to you; this one describes a whole run as a specification and computes it in PyTorch. Of the 37 functions and objects the old version exported, 30 are gone — including all of yolo3(), darknet53(), load_darknet_weights(), get_boxes(), non_max_suppression(), plot_boxes(), segmentation_generator() and the annotation readers.

Seven names survive, and three of them are the ones to watch, because they are still exported, still callable, and mean something different:

| name | 0.1.1 | now | |---|---|---| | u_net() | u_net(net_h, net_w, grayscale, ...) → a Keras model | u_net(name, input_shape, ...) → one model in a specification | | plot_masks() | plot_masks(images_paths, masks, labels, colormap) | plot_masks(images, prediction, truth, ...) | | loss_dice() | no arguments, returns a Keras loss | loss_dice(smooth = 1), returns a loss to name in a specification |

The other four — binary_colormap, voc_colormap, binary_labels, voc_labels — are the same data as before.

Object detection is back, and the names are different. The old package handed you a Keras YOLOv3; this one describes a detector in a specification like everything else. So those five names are gone rather than moved, and what replaces them is:

| 0.1.1 | now | |---|---| | yolo3(), darknet53() | yolo3() as one entry in platypus_spec() - same name, a specification rather than a model | | load_darknet_weights() | weights = "bccd-yolo3", or a path, or hf://owner/repo/file@commit | | get_boxes(), non_max_suppression() | done inside predict(), which returns boxes already suppressed and in each image's own pixels | | plot_boxes() | plot_boxes() - same name, takes what predict() returns |

The annotation readers are gone as functions and are now what detection_data() reads for you: Pascal VOC XML or LabelMe JSON, named rather than guessed.

The old release is still there and still installable, pinned:

remotes::install_github("maju116/[email protected]")

Its source is on the master branch, and the issues filed against it stay open. What has aged is its dependencies rather than its code: the pinned TensorFlow no longer installs on a current Python, which is the reason for a rewrite rather than a consequence of one.