There is a newer version of the record available.

Published June 5, 2026 | Version v0.8.0

SwanHubX/SwanLab: v0.8.0

  • 1. EmotionMachine
  • 2. XDU
  • 3. Southeast University
  • 4. Xidian University
  • 5. @SwanHubX
  • 6. Xidian Univeristy
  • 7. LowEntropyAI, Inc.
  • 8. Shanghai Innovation Institute & Xidian University
  • 9. GPNU
  • 10. @GeekTechStudio
  • 11. CQUPT
  • 12. Xi'an Jiaotong University
  • 13. China University of Petroleum(East China)
  • 14. Tsinghua University

Description

What's Changed

🚀 It's been a while — SwanLab v0.8.0 is here.

  • docs(readme): add 2 papers - TrafficBM, Decision-Making by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1463
  • feat: add delete methods to public API for runs and projects by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1464
  • refactor: next setup by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1467
  • docs(readme): tree grpo by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1465
  • refactor SDK API, add cmd entrypoints and context by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1470
  • CI: add Python PR workflow and Makefile targets by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1471
  • feat: add API key helpers, settings, console and tests by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1472
  • Feat/client by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1474
  • Feat/login by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1477
  • feat: add internal diagnostic log & console/file logging by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1479
  • feat: move sdk.pkg to sdk.utils and add experiment utils by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1480
  • feat: add vendor lazy-loader, storage settings by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1482
  • Feat/init by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1483
  • Feat/callbacker by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1484
  • Feat/webhook by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1485
  • Feat/data by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1486
  • fix: add generated proto pyi stubs and fix imports by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1487
  • Feat/data context by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1488
  • feat: move vendor package to swanlab/vendor by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1489
  • Feat/data by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1490
  • Feat/log by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1492
  • Feat/callbacker by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1494
  • Feat/finish by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1495
  • Test/unit by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1496
  • feat: add console.trace and switch session logging by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1497
  • Feat/config by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1498
  • Feat/docs by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1499
  • Refactor/media by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1500
  • Feat/media by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1501
  • Feat/media by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1502
  • fix: add SIGINT signal handler for reliable Ctrl+C experiment abort by @hhe48203-ctrl in https://github.com/SwanHubX/SwanLab/pull/1504
  • Fix/finish by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1505
  • Feat/run by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1506
  • docs(readme): v0.7.12 by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1513
  • docs(readme): pin baseline by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1519
  • chore: rename SwanLabCallback to Callback by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1525
  • Chore/settings by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1526
  • feat/uploader thread split by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1523
  • Feat/system by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1527
  • feat: collect system metadata and requirements on start by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1528
  • Feat/monitor by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1537
  • feat: detect and handle forked child processes in Run by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1538
  • feat: add AsyncTaskManager and async_log type/stub by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1539
  • Feat/fmt error by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1540
  • Chore/some misc by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1541
  • feat: add cli skeleton by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1530
  • fix: relogin judgement by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1542
  • Feat/disabled by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1545
  • feat: project-level login isolation (--local flag) by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1546
  • refactor/core by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1549
  • feat: refactor transporter by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1548
  • refactor: Core 协议重构与 init 流程统一 by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1552
  • feat: add retry limit for creating unique run dir by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1553
  • refactor: CoreProtocol mode dispatch and CorePython lifecycle by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1555
  • chore: console log lifecycle refactor and test improvements by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1556
  • refactor: add pkg.fork module and refactor fork handling by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1557
  • Feat/terminal proxy by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1560
  • feat/core python api by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1561
  • Feat/probe by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1563
  • fix: remove incorrect Python 3.8 classifier inconsistent with requires-python>=3.9 by @kuishou68 in https://github.com/SwanHubX/SwanLab/pull/1566
  • Fix/transport by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1567
  • Feat/upload by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1568
  • Feat/upload console by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1570
  • feat: add SwanLab environment probe and integration by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1572
  • Refactor/metrics proto by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1573
  • feat: send stderr console on failed runs; add stream map by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1574
  • refactor: rename ColumnType FLOAT→SCALAR, add ChartType & upload DTOs by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1575
  • feat: refactor uploads, add column encoding & retry logging with test mocks by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1577
  • feat: openapi refactor by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1562
  • feat: add run greeting/farewell, run path & URL by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1579
  • Rename 'cloud' mode to 'online' across codebase by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1580
  • feat: return experiment name in StartResponse by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1581
  • fix: replace ValueError with AuthenticationError in login by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1583
  • Feat/cli-helper by @neyuki778 in https://github.com/SwanHubX/SwanLab/pull/1578
  • feat: enforce media size/length limits in RecordBuilder by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1585
  • feat: add swanlab skill by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1584
  • feat: add ECharts transform and sklearn ML metric charts by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1586
  • fix: python -m swanlab CLI entrypoint by @neyuki778 in https://github.com/SwanHubX/SwanLab/pull/1587
  • feat: add Object3D and Molecule media transforms by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1588
  • Add plot transform and deprecated wrappers by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1589
  • feat: add swanlab.merge_callbacks API and callbacker tests by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1591
  • Refactor CLI auth: move logic to cmd utils & pkg by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1593
  • feat: add step deduplication for metrics and rename check_if_logged by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1595
  • feat/integrations by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1601
  • feat: resume by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1597
  • feat/plugin by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1598
  • feat: add build_resume_column and use in resume by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1602
  • Fix/section name by @neyuki778 in https://github.com/SwanHubX/SwanLab/pull/1599
  • feat: add Heartbeat support to CorePython by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1604
  • chore: move record builder into core_python.pkg by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1605
  • feat: add system monitor builder and init global step by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1606
  • fix: update fancy-pypi-readme substitutions by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1607
  • feat/save by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1590
  • feat: update integrations by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1608
  • refactor: consolidate environment and monitor settings into probe by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1611
  • refactor: rename logdir to log_dir with backward compatibility by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1612
  • fix: normalize CLI options to use hyphens by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1614
  • refactor: rename proto packages and terminal/console concepts by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1615
  • refactor: define number in core_settings by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1609
  • refactor(core): introduce CoreContext, settings proto fields and new gRPC APIs by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1617
  • feat/integration last by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1616
  • feat: add PyPI publish workflow by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1621
  • fix: update protobuf requirement to >=6.31.1 by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1622
  • Fix/save batch split by @neyuki778 in https://github.com/SwanHubX/SwanLab/pull/1623
  • feat/converter by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1620
  • chore: misc improvements to greeting, experiment names and login output by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1625
  • feat: add mode CLI and hierarchical config sources by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1626
  • chore/const by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1628
  • revert: add --tb-log-dir and deprecate --tb-logdir by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1629
  • feat/openapi enhancer by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1627
  • feat: support custom and truncated run directory names by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1632
  • feat: support finish call multiple times by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1635
  • refactor: move online run params into CoreContext and defer Transport sender creation by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1637
  • docs: readme v2.7.5 by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1638
  • feat: add sync flow with initial test coverage by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1640
  • chore: switch from pyright to basedpyright and add type-check CI by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1641
  • chore: add sync edge case tests and fix column upload overlap by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1642
  • refactor: bump DataStore header version to 2 and improve sync error message by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1644
  • fix(utils): ensure generate_id always contains at least one lowercase letter by @milestone-17 in https://github.com/SwanHubX/SwanLab/pull/1633
  • feat: add accelerator vendor support and process memory metrics by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1645
  • Fix/remove deps by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1646
  • feat: enhance probe diagnostics and metadata handling by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1647
  • fix: refactor NVML import to lazy vendor pattern; cache hwmon paths; clean up by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1649
  • feat: add multi-vendor accelerator support and hardware diagnostics CLI by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1648
  • refactor: restructure callbacker protocol and relocate deprecated modules by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1650
  • chore(ci): add ruff lint check to PR workflow by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1651
  • feat: progress by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1639
  • fix: initialize _global_step to -1 for correct first step value by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1653
  • test: add offline mode auto-step starts-from-zero assertion by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1654
  • Fix/validate run save params by @neyuki778 in https://github.com/SwanHubX/SwanLab/pull/1630
  • feat: add parallel execution support with shared run directory naming by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1655
  • refactor: consolidate config and env records into SaveRecord with SaveType by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1656
  • feat/openapi compatible by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1660
  • feat: csv_writer plugin by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1661
  • feat: sync wandb/tensorboard/mlflow by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1658
  • fix: safe thread executor by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1659
  • fix: hide fsync by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1664
  • docs(readme): compatible new docs link by @Zeyi-Lin in https://github.com/SwanHubX/SwanLab/pull/1665
  • Feat/auto research skill by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1666
  • chore: trigger PR checks on dependency changes by @SAKURA-CAT in https://github.com/SwanHubX/SwanLab/pull/1671
  • fix: relax rich version upper bound by @FED4 in https://github.com/SwanHubX/SwanLab/pull/1669
  • feat/version 0.8.0 by @Nexisato in https://github.com/SwanHubX/SwanLab/pull/1670

New Contributors

  • @hhe48203-ctrl made their first contribution in https://github.com/SwanHubX/SwanLab/pull/1504
  • @kuishou68 made their first contribution in https://github.com/SwanHubX/SwanLab/pull/1566
  • @neyuki778 made their first contribution in https://github.com/SwanHubX/SwanLab/pull/1578
  • @milestone-17 made their first contribution in https://github.com/SwanHubX/SwanLab/pull/1633
  • @FED4 made their first contribution in https://github.com/SwanHubX/SwanLab/pull/1669

Full Changelog: https://github.com/SwanHubX/SwanLab/compare/v0.7.10...v0.8.0

Files

SwanHubX/SwanLab-v0.8.0.zip

Files (15.1 MB)

Name Size Download all
md5:428721a6adbb05d7eb6c3f7f1268a6fd
15.1 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/SwanHubX/SwanLab/tree/v0.8.0 (URL)

Software