Skip to content

Commit 3d03dfb

Browse files
staredclaude
andcommitted
docs: 0.6.0 release notes + uv-first README
CHANGELOG: 0.6.0 entry covering Bokeh-in-Colab (issue #109), Plot2d (issue #137), max_cols=1 (PR #147), groups starting at different steps (PR #149), Neptune integration removal, and the py3.10 floor. README: - Update CI badges to point at the renamed workflows (tests.yml, lint.yml) and link each badge to its workflow page - Switch the install section to uv-first ('uv add livelossplot'), with pip kept as the alternative; add a 'Run without installing' section covering 'uv run --with' for one-off scripts, inline script dependencies, and Jupyter - Replace the dead 'git+git://' source-install URL with the working 'git+https://' form - Fix the master->main branch in the header GIF link Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 20dec05 commit 3d03dfb

2 files changed

Lines changed: 48 additions & 18 deletions

File tree

CHANGELOG.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10-
## [0.5.7] - 2026-05-04
10+
## [0.6.0] - 2026-05-04
1111

12-
### Fixed
12+
### Changed
1313

14-
- `BokehPlot` now renders and live-updates inside Google Colab. Colab blocks Jupyter Comms, so `push_notebook` was silently dead; the plot is now embedded via `<iframe srcdoc>` and refreshed through an IPython `display_id` handle ([issue #109](https://github.com/stared/livelossplot/issues/109)).
15-
- `Plot2d` works again as a `PlotLosses` output. Removed buggy `super().__init__(self)` in `LossSubplot`/`Plot1D` and reworked `Plot2d.send` to manage its own figure/axes and use the configured `predict` callback ([issue #137](https://github.com/stared/livelossplot/issues/137), PR #138).
16-
- `MatplotlibPlot` no longer errors when `max_cols=1` (PR #147).
17-
- Groups whose metrics start at different steps now plot correctly (PR #149).
18-
- CI: install `tensorboard` explicitly — TensorFlow 2.16+ no longer bundles it, which broke `external_test_tensorboard.py`.
14+
- Minimum Python is now 3.10.
1915

2016
### Removed
2117

22-
- Neptune.AI support (`NeptuneLogger`, `to_neptune`, and the related example/test) — Neptune is no longer maintained.
18+
- Neptune.AI integration — Neptune is no longer maintained.
2319

24-
### Chore
20+
### Fixed
2521

26-
- Default branch renamed `master``main`; build badges updated.
22+
- `BokehPlot` now works in Google Colab ([issue #109](https://github.com/stared/livelossplot/issues/109)).
23+
- `Plot2d` works again as a `PlotLosses` output ([issue #137](https://github.com/stared/livelossplot/issues/137)).
24+
- `MatplotlibPlot` no longer errors when `max_cols=1` (PR #147).
25+
- Groups whose metrics start at different steps now plot correctly (PR #149).
2726

2827
## [0.5.6] - 2025-01-03
2928

README.md

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
![PyPI status](https://img.shields.io/pypi/status/livelossplot.svg)
55
![MIT license - PyPI](https://img.shields.io/pypi/l/livelossplot.svg)
66
![Python version - PyPI](https://img.shields.io/pypi/pyversions/livelossplot.svg)
7-
[![GitHub Actions](https://img.shields.io/github/actions/workflow/status/stared/livelossplot/pythonpackage.yml?branch=main)](https://github.com/stared/livelossplot/actions)
8-
[![GitHub Actions: Integrations](https://img.shields.io/github/actions/workflow/status/stared/livelossplot/external_packages.yml?branch=main&label=integrations)](https://github.com/stared/livelossplot/actions)
9-
[![GitHub Actions: Linting](https://img.shields.io/github/actions/workflow/status/stared/livelossplot/flake8_yapf.yml?branch=main&label=linting)](https://github.com/stared/livelossplot/actions)
7+
[![Tests](https://img.shields.io/github/actions/workflow/status/stared/livelossplot/tests.yml?branch=main&label=tests)](https://github.com/stared/livelossplot/actions/workflows/tests.yml)
8+
[![Integrations](https://img.shields.io/github/actions/workflow/status/stared/livelossplot/external_packages.yml?branch=main&label=integrations)](https://github.com/stared/livelossplot/actions/workflows/external_packages.yml)
9+
[![Lint](https://img.shields.io/github/actions/workflow/status/stared/livelossplot/lint.yml?branch=main&label=lint)](https://github.com/stared/livelossplot/actions/workflows/lint.yml)
1010
[![Downloads](http://pepy.tech/badge/livelossplot)](https://pepy.tech/project/livelossplot)
1111
[![Twitter @pmigdal](https://img.shields.io/twitter/follow/pmigdal)](https://twitter.com/pmigdal)
1212

1313
Don't train deep learning models blindfolded! Be impatient and look at each epoch of your training!
1414

15-
([RECENT CHANGES](CHANGELOG.md), [EXAMPLES IN COLAB](https://colab.research.google.com/github/stared/livelossplot), [CODE](https://github.com/stared/livelossplot))
15+
([API DOCS](https://p.migdal.pl/livelossplot/), [RECENT CHANGES](CHANGELOG.md), [EXAMPLES IN COLAB](https://colab.research.google.com/github/stared/livelossplot), [CODE](https://github.com/stared/livelossplot))
1616

1717
A live training loss plot in [Jupyter Notebook](http://jupyter.org/) for [Keras](https://keras.io/), [PyTorch](http://pytorch.org/) and other frameworks. An open-source Python package by [Piotr Migdał](https:///), [Bartłomiej Olechno](https://github.com/Bartolo1024/) and [others](https://github.com/stared/livelossplot/graphs/contributors). **Open for collaboration!** (Some tasks are as simple as writing code docstrings, so - no excuses! :))
1818

@@ -26,23 +26,54 @@ model.fit(X_train, Y_train,
2626
verbose=0)
2727
```
2828

29-
![Animated fig for livelossplot tracking log-loss and accuracy](https://raw.githubusercontent.com/stared/livelossplot/master/livelossplot.gif)
29+
![Animated fig for livelossplot tracking log-loss and accuracy](https://raw.githubusercontent.com/stared/livelossplot/main/livelossplot.gif)
3030

3131
- (The most FA)Q: Why not TensorBoard?
3232
- A: Jupyter Notebook compatibility (for exploration and teaching). The simplicity of use.
3333

3434
## Installation
3535

36-
To install [this version from PyPI](https://pypi.org/project/livelossplot/), type:
36+
### Add to your project
3737

3838
```bash
39+
uv add livelossplot
40+
# or
3941
pip install livelossplot
4042
```
4143

42-
To get the newest one from this repo (note that we are in the alpha stage, so there may be frequent updates), type:
44+
[On PyPI](https://pypi.org/project/livelossplot/). Requires Python 3.10+.
45+
46+
### Run without installing
47+
48+
For a one-off script, [uv](https://docs.astral.sh/uv/) can run it in an ephemeral environment:
49+
50+
```bash
51+
uv run --with livelossplot script.py
52+
```
53+
54+
Or pin the dependencies inside the script itself, then `uv run script.py`:
55+
56+
```python
57+
# /// script
58+
# requires-python = ">=3.10"
59+
# dependencies = ["livelossplot", "torch"]
60+
# ///
61+
from livelossplot import PlotLosses
62+
# ...
63+
```
64+
65+
For Jupyter:
66+
67+
```bash
68+
uv run --with livelossplot --with jupyterlab jupyter lab
69+
```
70+
71+
### From the latest main
4372

4473
```bash
45-
pip install git+git://github.com/stared/livelossplot.git
74+
uv add "livelossplot @ git+https://github.com/stared/livelossplot.git"
75+
# or
76+
pip install git+https://github.com/stared/livelossplot.git
4677
```
4778

4879
## Examples

0 commit comments

Comments
 (0)