Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
426 commits
Select commit Hold shift + click to select a range
06a8d5b
Update version.info to `2.5.0.dev` (#20316)
rasbt Oct 21, 2024
897b2af
docs: update ref to latest tutorials (#20387)
pl-ghost Nov 3, 2024
3627c5b
ci: bump deprecated mac 12 to 13 (#20393)
Borda Nov 4, 2024
61a403a
bump: Torch `2.5` (#20351)
Borda Nov 12, 2024
b0aa504
docs: fix incorrect link in expert level up (#20408)
durandtibo Nov 12, 2024
7038b8d
fix: correct the positional encoding of Transformer in pytorch examples
Galaxy-Husky Aug 15, 2024
9358898
Ensure restarting from checkpoints leads to consistent internal count…
lantiga Nov 13, 2024
1f2d7a1
Add rtx 4080 super to chips dictionary (#20285)
kazuar Nov 13, 2024
bd5866b
fix batchsampler does not work correctly (#20327)
dadwadw233 Nov 13, 2024
bfe3e8a
Change LightningCLI tests to account for future fix in jsonargparse (…
mauvilsa Nov 13, 2024
5756c81
bump all macos-13 to -14 (#20415)
t-vi Nov 13, 2024
875cfbd
ci: update specific configs to latest (#20416)
Borda Nov 13, 2024
cae3335
fix: Incorrect URI Prefix Stripping in MLFlowLogger (#20365)
awindmann Nov 13, 2024
f5b513d
temporarily disable tpu from required checks (#20417)
t-vi Nov 13, 2024
e1b172c
Profile `Trainer.save_checkpoint` (#20405)
EricCousineau-TRI Nov 13, 2024
20d19d2
Remove `List[int]` as input type for Trainer when `accelerator="cpu"`…
chualanagit Nov 13, 2024
cd2bd3c
Fix configure_optimizers example (#20420)
chualanagit Nov 14, 2024
c110f4f
Allow callbacks to be restored not just during training (#20403)
chualanagit Nov 14, 2024
173cb8c
build(deps): bump codecov/codecov-action from 4 to 5 (#20427)
dependabot[bot] Nov 18, 2024
8cf185a
fix: use standalone tests' exit code (#20430)
Borda Nov 19, 2024
28d3afd
update links (#20431)
t-vi Nov 19, 2024
8ce5287
Update CODEOWNERS (#20433)
lantiga Nov 20, 2024
045f1bf
build(deps): bump Lightning-AI/utilities from 0.11.8 to 0.11.9 (#20444)
dependabot[bot] Nov 25, 2024
1e88899
bump python 3.9+ (#20413)
Borda Nov 25, 2024
0afd4e1
Replace `using_pjrt()` xla runtime `device_type()` check with in xla.…
byi8220 Nov 25, 2024
75d7357
Proposal(CLI): after_instantiate_classes hook (#20401)
AlessandroW Nov 25, 2024
1f4a77c
improve importing demos (#20446)
Borda Nov 25, 2024
29c0396
Seed NumPy using `np.random.SeedSequence()` in `pl_worker_init_functi…
amorehead Nov 25, 2024
333d1cf
Update governance (#20448)
lantiga Nov 25, 2024
87565cb
FP8 + FSDP2 + torch.compile examples for PyTorch Lightning and Fabric…
lantiga Nov 26, 2024
13b74f7
make plugin type check more flexible (#20186)
jedyang97 Nov 26, 2024
be608fa
Make plugin type check more flexible (Fabric) (#20452)
lantiga Nov 26, 2024
8892b2c
Temporarily pin Python at 3.12.7 to avoid jsonargparse issue in CI (#…
lantiga Dec 8, 2024
c09fc66
docs: update ref to latest tutorials (#20475)
pl-ghost Dec 8, 2024
38971a0
Patch jsonargparse for Python >= 3.12.8 (#20479)
lantiga Dec 9, 2024
caa9e1e
Remove deprecated distutils (#20481)
lantiga Dec 9, 2024
de7c28a
Remove badge from README (#20482)
lantiga Dec 9, 2024
6b88ddc
Code-style changes via pre-commit (#20483)
Andrei-Aksionov Dec 9, 2024
64d0d02
Fix TypeError in configure_optimizers when running with ReduceLROnPla…
LukasSalchow Dec 10, 2024
ca59e4e
Configure optimizer typing fix follow-up (#20486)
lantiga Dec 10, 2024
1c4612e
Add doc for TBPTT (#20422)
chualanagit Dec 10, 2024
9983f3a
Add timeout to DeepSpeedStrategy (#20474)
jedyang97 Dec 10, 2024
b709985
Install setuptools via pip in base Docker image (#20487)
lantiga Dec 10, 2024
5495204
Pin setuptools in release container (#20488)
lantiga Dec 10, 2024
030f36b
Pin setuptools in GPU tests (#20489)
lantiga Dec 10, 2024
30545d6
Update checkpointing documentation to mark resume_from_checkpoint as …
WangYue0000 Dec 10, 2024
601c060
Add `convert_module` to FSDP (#20323)
tshu-w Dec 10, 2024
1e32ebf
Fix UnboundLocalError when using the predict method with return_predi…
farhadrgh Dec 11, 2024
9709c64
Add str method to datamodule (#20301)
MrWhatZitToYaa Dec 11, 2024
60289d7
Force hook standalone tests to single device (#20491)
lantiga Dec 11, 2024
a9125c2
Fix LightningCLI failing when both module and data module save hyperp…
mauvilsa Dec 11, 2024
1129d4c
Add `step` parameter to `TensorBoardLogger.log_hyperparams` (#20176)
Dec 11, 2024
110d621
Bump to 2.5.0rc0 (#20493)
lantiga Dec 12, 2024
4c0eb3a
Update (ci): github action's artifact upgrade v4 (#20500)
alleeclark Dec 17, 2024
0324a20
Prepare Lightning 2.5.0 release (#20505)
lantiga Dec 19, 2024
61a8391
docs: bump habana (#20506)
Borda Dec 19, 2024
f9babd1
ci: build docs once you prepare release (#20507)
Borda Dec 19, 2024
c45c3c9
docker: fix setting tags (#20504)
Borda Dec 20, 2024
52460d3
Revert breaking change in configure_optimizers return type (#20512)
lantiga Dec 20, 2024
58a749a
Allow batch sampler to not have a .sampler attribute (#20514)
lantiga Dec 21, 2024
4337f7f
Revert "Patch jsonargparse for Python >= 3.12.8" (#20513)
lantiga Dec 21, 2024
9177ec0
Minor correction release `2.5.0.post0` (#20515)
lantiga Dec 21, 2024
afe5708
chore: remove redundant words in comment (#20510)
withbest Jan 6, 2025
efe311c
ci: update GroupCheck (#20529)
Borda Jan 6, 2025
ee7fa43
fix: swapped _R_co and _P to prevent type error. (#20508)
TresYap Jan 6, 2025
76f0c54
Fix TBPTT example (#20528)
lantiga Jan 6, 2025
1b26ac4
[pre-commit.ci] pre-commit suggestions (#20532)
pre-commit-ci[bot] Jan 7, 2025
8c2d263
docs: inject version selector to HTML docs (#20535)
Borda Jan 7, 2025
a944e77
test: flaky terminated with signal SIGABRT (#20537)
Borda Jan 9, 2025
b5eb92a
docs: fix typo in `converting.rst` (#20567)
adosar Feb 3, 2025
711abb4
Update twine to 6.0.1 for Python 3.13 (#20570)
lantiga Feb 3, 2025
ea59e40
build(deps): bump Lightning-AI/utilities from 0.11.9 to 0.12.0 (#20569)
dependabot[bot] Feb 3, 2025
d902516
fix: typos in documentation files (#20582)
maximevtush Feb 13, 2025
9afcc58
Remove fabric legacy CLI (#20588)
justusschock Feb 13, 2025
4eda5a0
docs: fix broken links (#20590)
Borda Feb 14, 2025
b313cd9
docs: Fix missing enumerate loop (#20592)
amorehead Feb 18, 2025
7bd9279
fix compatibility for pytest 8 (#20575)
haifeng-jin Feb 26, 2025
9ef355b
fix test compatibility as AdamW became subclass of Adam (#20574)
haifeng-jin Feb 26, 2025
1f5add3
Fix CSVLogger hyperparameter is logged at every write which increase …
duydl Feb 26, 2025
93d707d
fix: always call `WandbLogger.experiment` first in `_call_setup_hook`…
Mar 10, 2025
87108d8
Add checkpoint artifact path prefix to MLflow logger (#20538)
benglewis Mar 10, 2025
d15eeff
build(deps): bump Lightning-AI/utilities from 0.12.0 to 0.14.0 (#20631)
dependabot[bot] Mar 10, 2025
71793c6
test: flaky terminated with signal SIGABRT (#20621)
kaiyaok2 Mar 10, 2025
a3314d4
fix: Set `tensorboard`'s `global_step` as the default `wandb` x-axis …
Mar 10, 2025
5073ac1
Allow a custom parser class when using LightningCLI (#20596)
mauvilsa Mar 10, 2025
e8d70bc
ci: resolve standalone testing (#20633)
Borda Mar 11, 2025
02e2668
ci: aggregate checks with guardian (#20635)
Borda Mar 11, 2025
a0134d2
bump: testing with latest `torch` 2.6 (#20509)
Borda Mar 11, 2025
26bfe56
Add `enable_autolog_hparams` argument to Trainer. (#20593)
duydl Mar 12, 2025
41315bc
fix: update `comet_ml` logger for compatibility (#20275)
japdubengsub Mar 12, 2025
96df8c4
Fix the file extension of model checkpoints uploaded by NeptuneLogger…
senarvi Mar 14, 2025
40c682e
Reset trainer variable `should_stop` when `fit` is called (#19177)
ryan597 Mar 14, 2025
7900105
Nicer logging of list of dicts for hyper parameters (#19963)
vork Mar 14, 2025
1278308
Fix OverflowError when resuming from checkpoint with an iterable data…
adamreeve Mar 14, 2025
bd9d114
Fix: Make `WandbLogger` upload models from all `ModelCheckpoint` call…
cgebbe Mar 14, 2025
eb082b2
fix: mlflow tmp_dir in `/tmp` (#20642)
yxtay Mar 14, 2025
2011d5a
build(deps): bump Lightning-AI/utilities from 0.14.0 to 0.14.1 (#20650)
dependabot[bot] Mar 17, 2025
29ed24f
Error when logging to MLFlow deleted experiment (#20556)
millskyle Mar 17, 2025
08266a9
update checkpointing (#20653)
Borda Mar 18, 2025
28f0fcb
ci: bump next `torch` 2.7 (#20656)
Borda Mar 19, 2025
5cbfb86
docker: releasing PL with latest PT 2.6 (#20655)
Borda Mar 19, 2025
d04fc34
Adding test for legacy checkpoint created with 2.5.1 (#20659)
pl-ghost Mar 21, 2025
851d022
fix case-sensitive model name (#20661)
Borda Mar 21, 2025
669486a
docs: update chlog after `2.5.1` release (#20662)
Borda Mar 21, 2025
44eb839
build(deps): bump Lightning-AI/utilities from 0.14.1 to 0.14.2 (#20667)
dependabot[bot] Mar 24, 2025
df5dee6
fix: MLFlowLogger artifact_path (#20669)
yxtay Mar 25, 2025
5cc8471
Improve performance of available_accelerators by returning a set (#20…
allrob23 Mar 28, 2025
ca13f77
drop duplicated `torchmetrics` requirement from Fabric's testing (#20…
Borda Mar 28, 2025
831870a
Update the doc to use `breakpoint()` (#20691)
briannnyee Apr 3, 2025
f6fd9c0
docs: update ref to latest tutorials (#20698)
pl-ghost Apr 7, 2025
5e0209a
build(deps): bump Lightning-AI/utilities from 0.14.2 to 0.14.3 (#20700)
dependabot[bot] Apr 7, 2025
02311d0
feat: add Codecov test results (#20694)
thomasrockhu-codecov Apr 7, 2025
cd785a4
[pre-commit.ci] pre-commit suggestions (#20703)
pre-commit-ci[bot] Apr 8, 2025
4281b58
making litmodels message clearer (#20707)
craigpfeifer Apr 10, 2025
03635d2
docs: update ref to latest tutorials (#20712)
pl-ghost Apr 14, 2025
d57c2a3
ci: bump dead ubuntu 20.04 (#20719)
Borda Apr 16, 2025
af2727a
model update API for checkpointing (#20721)
Borda Apr 17, 2025
fe79be1
feat: allow immutable file upload for wandb logger (#20193)
cgebbe Apr 17, 2025
8055717
feat: add tests for `save_hyperparameters` with `ignore` behavior and…
deependujha Apr 17, 2025
df18e4c
build(deps): update tensorboard requirement from <2.15.0,>=2.9.1 to >…
dependabot[bot] Apr 21, 2025
58827d3
build(deps): update ipython[all] requirement from <8.15.0 to <8.19.0 …
dependabot[bot] Apr 22, 2025
08a04de
ci: try to suppress false failing check for create legacy checkpoint …
Borda Apr 22, 2025
c88bb40
ci: try to supress false failing check for create legacy checkpoint (…
Borda Apr 22, 2025
156aad1
build(deps): update torchmetrics requirement from <1.5.0,>=0.10.0 to …
dependabot[bot] Apr 22, 2025
fd1a38b
build(deps): update cloudpickle requirement from <2.3.0,>=1.3 to >=1.…
dependabot[bot] Apr 22, 2025
ffec870
build(deps): update onnxruntime requirement from <1.19.0,>=1.12.0 to …
dependabot[bot] Apr 22, 2025
396038a
build(deps): update packaging requirement from <24.2 to <25.1 in /req…
dependabot[bot] Apr 22, 2025
948577b
build(deps): update lightning-utilities requirement from <0.12.0,>=0.…
dependabot[bot] Apr 22, 2025
3fb8dcf
build(deps): bump pytest from 7.4.0 to 8.3.5 in /requirements (#20732)
dependabot[bot] Apr 22, 2025
0c9d414
build(deps): bump `torch` from 2.5.1 to 2.6.0 & `torchvision` from <0…
dependabot[bot] Apr 23, 2025
f6ef409
Revert "fix: MLFlowLogger artifact_path (#20669)"
Borda Apr 24, 2025
73b785a
Revert "Add checkpoint artifact path prefix to MLflow logger (#20538)"
Borda Apr 24, 2025
f01ff14
release preparation (#20752)
Borda Apr 24, 2025
1af7f73
Release prep 2
williamFalcon Apr 24, 2025
6cf2581
update model message (#20753)
Borda Apr 25, 2025
69d8fa9
bump: testing latest PT on GPU to `2.7` (#20754)
Borda Apr 25, 2025
90354eb
build(deps): update fsspec[http] requirement from <2024.4.0,>=2022.5.…
dependabot[bot] Apr 28, 2025
3fda67b
build(deps): update awscli requirement from <1.31.0,>=1.30.0 to >=1.3…
dependabot[bot] Apr 28, 2025
efb02d7
build(deps): update requests requirement from <2.32.0 to <2.33.0 in /…
dependabot[bot] Apr 28, 2025
8220d05
build(deps): bump pytest-cov from 4.1.0 to 6.1.1 in /requirements (#2…
dependabot[bot] Apr 28, 2025
c71cc8a
build(deps): update wheel requirement from <0.44.0 to <0.46.0 in /req…
dependabot[bot] Apr 28, 2025
82c584a
build(deps): bump torch from 2.6.0 to 2.7.0 in /requirements (#20765)
dependabot[bot] Apr 28, 2025
c51b347
build(deps): update pandas requirement from <2.2.0,>1.0 to >1.0,<2.3.…
dependabot[bot] Apr 28, 2025
2b5d38d
build(deps): update scikit-learn requirement from <1.4.0,>0.22.1 to >…
dependabot[bot] Apr 28, 2025
383c980
docs: update repo link preventing flakiness (#20769)
Borda Apr 28, 2025
749dc90
drop mergify (#20770)
Borda Apr 28, 2025
6da480d
build(deps): bump mypy from 1.11.0 to 1.15.0 in /requirements (#20759)
dependabot[bot] Apr 28, 2025
ec6e2e0
build(deps): bump pytest-timeout from 2.1.0 to 2.3.1 in /requirements…
dependabot[bot] May 5, 2025
156ccd9
build(deps): update ipython[notebook] requirement from <8.7.0 to <8.1…
dependabot[bot] May 5, 2025
30df45c
build(deps): bump pkginfo from 1.12.0 to 1.12.1.2 in /requirements (#…
dependabot[bot] May 5, 2025
2f67678
build(deps): update importlib-metadata requirement from <8.0.0 to <9.…
dependabot[bot] May 5, 2025
c3ac7ab
build(deps): update psutil requirement from <5.9.6 to <7.0.1 in /requ…
dependabot[bot] May 5, 2025
585396c
build(deps): update docutils requirement from <0.21,>=0.16 to >=0.16,…
dependabot[bot] May 5, 2025
5886b5d
build(deps): update typing-extensions requirement from <4.11.0,>=4.4.…
dependabot[bot] May 5, 2025
23f02ce
build(deps): update onnx requirement from <1.17.0,>=1.12.0 to >=1.12.…
dependabot[bot] May 5, 2025
4323cae
build(deps): bump pytest-random-order from 1.1.0 to 1.1.1 in /require…
dependabot[bot] May 5, 2025
9caebba
Remove LightningCLI `python>=3.11.9` xfail, since issue was resolved …
mauvilsa May 6, 2025
d5208f7
docs: update ref to latest tutorials (#20785)
pl-ghost May 6, 2025
1b12c4b
updating issue template (#20720)
Borda May 8, 2025
7c418d6
build(deps): bump sphinx-toolbox from 3.5.0 to 3.10.0 in /requirement…
dependabot[bot] May 12, 2025
3dc7470
build(deps): update nbsphinx requirement from <=0.9.2,>=0.8.5 to >=0.…
dependabot[bot] May 12, 2025
90b8b59
build(deps): bump twine from 6.0.1 to 6.1.0 in /requirements (#20816)
dependabot[bot] May 12, 2025
08abb52
build(deps): update tqdm requirement from <4.67.0,>=4.57.0 to >=4.57.…
dependabot[bot] May 12, 2025
da5ce90
build(deps): bump sphinxcontrib-video from 0.2.0 to 0.4.1 in /require…
dependabot[bot] May 12, 2025
86aed16
build(deps): update rich requirement from <13.6.0,>=12.3.0 to >=12.3.…
dependabot[bot] May 12, 2025
c431887
build(deps): bump click from 8.1.7 to 8.1.8 in /requirements (#20820)
dependabot[bot] May 12, 2025
68f2adc
build(deps): update setuptools requirement from <70.1.1 to <80.4.1 in…
dependabot[bot] May 12, 2025
01ba7a1
Fix: `TransformerEnginePrecision` conversion for layers with `bias=Fa…
KAVYANSHTYAGI May 12, 2025
3d39824
fix: convert step to int when logging (#20830)
clumsy May 16, 2025
673d9d0
build(deps): update myst-parser requirement from <3.0.0,>=0.18.1 to >…
dependabot[bot] May 19, 2025
089b2f6
build(deps): bump sphinx-toolbox from 3.10.0 to 4.0.0 in /requirement…
dependabot[bot] May 19, 2025
33693b3
build(deps): update setuptools requirement from <80.4.1 to <80.7.2 in…
dependabot[bot] May 19, 2025
c3c69c5
build(deps): bump pytest-rerunfailures from 12.0 to 15.1 in /requirem…
dependabot[bot] May 19, 2025
857b0eb
build(deps): update matplotlib requirement from <3.9.0,>3.1 to >3.1,<…
dependabot[bot] May 19, 2025
760ae74
build(deps): update nbconvert requirement from <7.14 to <7.17 in /req…
dependabot[bot] May 19, 2025
bef53a8
docker: extend building base docker images for litGPT (#20842)
Borda May 19, 2025
9717787
build(deps): update onnx requirement from <1.18.0,>=1.12.0 to >=1.12.…
dependabot[bot] May 19, 2025
9d93d77
ci: skip failing run on master (#20843)
Borda May 19, 2025
4b47e0f
CLI: resolve jsonargparse deprecation warning (#20802)
adamjstewart May 19, 2025
29f0b13
build(deps): bump pytest-timeout from 2.3.1 to 2.4.0 in /requirements…
dependabot[bot] May 19, 2025
3b37c3e
docker: update building base docker images for last CUDA & py3.10 (#2…
Borda May 19, 2025
dd2912a
Remove legacy version check for `lightning_utilities >= 0.10` (#20823)
deependujha May 20, 2025
e5b5f3c
add python 3.12 in setup.py (#20850)
tomaszbk May 23, 2025
6977650
build(deps): update setuptools requirement from <80.7.2 to <80.8.1 in…
dependabot[bot] May 27, 2025
e15cd67
build(deps): update fsspec[http] requirement from <2025.4.0,>=2022.5.…
dependabot[bot] May 27, 2025
a83fcef
Allow cross-device local checkpoints with `fsspec>=2025.5.0` (#20780)
siemdejong May 27, 2025
470e82c
docs: fix typos (#20847)
omahs May 27, 2025
7b8ff1d
drop deprecated dependabot reviewers (#20860)
Borda May 27, 2025
989b759
Fix: Synchronize SIGTERM Handling in DDP to Prevent Deadlocks (#20825)
KAVYANSHTYAGI May 28, 2025
3985414
build(deps): update setuptools requirement from <80.8.1 to <80.9.1 in…
dependabot[bot] May 28, 2025
fafc239
build(deps): bump coverage from 7.8.0 to 7.8.2 in /requirements (#20858)
dependabot[bot] May 29, 2025
6675932
feat: add flops in `ModelSummary` columns (#20868)
GdoongMathew Jun 2, 2025
821611b
bump: PyTorch to be latest `2.7.1` (#20877)
Borda Jun 5, 2025
14b6c3e
Ensure correct device is used for autocast when mps is selected as Fa…
Jun 5, 2025
980ec50
build(deps): bump torch from 2.7.0 to 2.7.1 in /requirements (#20878)
dependabot[bot] Jun 5, 2025
ab7b118
fix: move `check_inputs` to target device if available during `to_tor…
GdoongMathew Jun 6, 2025
3b2a73f
Use lazy string formatting in logging statement in setup.py (#20886)
KAVYANSHTYAGI Jun 10, 2025
7433dc2
build(deps): bump pytest from 8.3.5 to 8.4.0 in /requirements (#20887)
dependabot[bot] Jun 10, 2025
1776963
Fix progress bar display to correctly handle iterable dataset and max…
bandpooja Jun 10, 2025
9ddb418
build(deps): update pandas requirement from <2.3.0,>1.0 to >1.0,<2.4.…
dependabot[bot] Jun 10, 2025
d195d2b
refactor: add `toggled_optimizer` context manager (#20771)
rustamzh Jun 10, 2025
cce06ec
refactor: use __all__ in accelerators/__init__.py (#20889)
littlebullGit Jun 11, 2025
d032388
LightningCLI instantiator receives values applied by instantiation li…
mauvilsa Jun 11, 2025
43691d4
Implement todos tensorboard (#20874)
KAVYANSHTYAGI Jun 11, 2025
64b2b6a
Fix typos: "reparametrization" → "reparameterization" and "recommed" …
leopardracer Jun 11, 2025
aebf3f4
fixing various typos (#20893)
Borda Jun 12, 2025
ab619cd
Fix Typo in TBPTT Documentation and Improve Trainer Docstring (#20897)
kilavvy Jun 12, 2025
b6442c5
chore: bump `mypy` from 1.15.0 to 1.16.0 and resolve typing issues (#…
rittik9 Jun 13, 2025
9606c19
build(deps): update pandoc requirement from <=2.3,>=1.0 to >=1.0,<=2.…
dependabot[bot] Jun 16, 2025
9992c49
build(deps): update jsonargparse[signatures] requirement from <4.40.0…
dependabot[bot] Jun 16, 2025
b2aaab3
build(deps): update lightning-habana requirement from <1.3.0,>=1.2.0 …
dependabot[bot] Jun 16, 2025
3693432
build(deps): bump coverage from 7.8.2 to 7.9.1 in /requirements (#20904)
dependabot[bot] Jun 16, 2025
26e2c2c
fix check for flaky links in readme (#20910)
Borda Jun 16, 2025
bd1c84e
Fix Typos in Comments and Function Names Across Multiple Files (#20901)
vtjl10 Jun 16, 2025
c976406
build(deps): update typing-extensions requirement from <4.14.0,>=4.4.…
dependabot[bot] Jun 16, 2025
87e3974
build(deps): bump pytest-cov from 6.1.1 to 6.2.1 in /requirements (#2…
dependabot[bot] Jun 16, 2025
c03660a
bump: `bitsandbytes >=0.45.2,<0.47.0` & compatibility patch for `bnb.…
Borda Jun 16, 2025
2358ed3
debugging flaky `test_collective_operations` with SIGABRT (#20912)
Borda Jun 17, 2025
c85660c
ci: debug failing run on master (#20845)
Borda Jun 17, 2025
76d3d22
Fixing problem for silently supporting jsonnet. (#20899)
muthissar Jun 18, 2025
cb1afbe
check param is of `nn.Parameter` type for pruning sanitization (#20783)
chanokin Jun 18, 2025
39438bf
Adding test for legacy checkpoint created with 2.5.2 (#20922)
pl-ghost Jun 20, 2025
48fcc30
build(deps): bump codecov/codecov-action from 4 to 5 (#20927)
dependabot[bot] Jun 23, 2025
6535de1
build(deps): bump mypy from 1.16.0 to 1.16.1 in /requirements (#20930)
dependabot[bot] Jun 23, 2025
84a92d0
build(deps): bump pytest-random-order from 1.1.1 to 1.2.0 in /require…
dependabot[bot] Jun 23, 2025
fd05897
build(deps): bump pytest from 8.4.0 to 8.4.1 in /requirements (#20929)
dependabot[bot] Jun 23, 2025
8bdb892
fix: update automated checkpoint messages for consistency (#20924)
Borda Jun 23, 2025
3138305
docs: update chlog after `2.5.2` release (#20925)
Borda Jun 23, 2025
6e90049
Fabric: Enable "auto" for `devices` and `accelerator` as cli argument…
fnhirwa Jun 24, 2025
e11fae5
ci/gpu: drop duplicate/confusing dep. installations (#20935)
Borda Jun 24, 2025
489bbf7
pin `bitsandbytes!=0.46` due to `int8_double_quant` with `ValueError`…
Borda Jun 24, 2025
242d80f
test: addressing flaky spawn "process 0 terminated with signal SIGABR…
Borda Jun 24, 2025
04379c2
test: addressing flaky spawn in subprocesses (#20940)
Borda Jun 25, 2025
a651975
ci/gpu: setting oldest dependencies (#20939)
Borda Jun 25, 2025
46874df
Improve type hint for `reduce_fx` in `LightningModule.log` (#20943)
rittik9 Jun 26, 2025
33de230
ci: disable TPU testing (#20942)
Borda Jun 26, 2025
d9f0e44
docs: Update compatibility matrix in versioning (#20948)
bhimrazy Jun 27, 2025
afa7d56
Add learning rate scheduling support for `DeepSpeedStrategy` (#20320)
amorehead Jun 27, 2025
73f1ab8
Fix compatibility for bitsandbytes>=0.46 (#20956)
matthewdouglas Jul 2, 2025
02ddc34
ci: force `pip install` with `--upgrade-strategy=eager` (#20958)
Borda Jul 2, 2025
e915418
Fix typo in LightningModule glossary entry ("organizug" → "organizing…
ScrufMan Jul 3, 2025
95f16c1
Fix nested module example (#20923)
matsumotosan Jul 3, 2025
ca3880a
ci: bump sorting group-check (#20955)
Borda Jul 3, 2025
919b85d
build(deps): update awscli requirement from <1.41.0,>=1.30.0 to >=1.3…
dependabot[bot] Jul 7, 2025
e29a8cb
build(deps): bump coverage from 7.9.1 to 7.9.2 in /requirements (#20966)
dependabot[bot] Jul 7, 2025
b087c1a
Add dev env setup guide with `uv` (#20961)
matsumotosan Jul 9, 2025
460c60c
Fix: Allow trainer to accept CUDAAccelerator instance as accelerator …
bhimrazy Jul 9, 2025
ab7b299
Model checkpointing `save_on_train_epoch_end` default behavior docume…
matsumotosan Jul 9, 2025
c6b6553
Add support nvcr.io/nvidia/pytorch:25.06-py3 (#20971)
intexcor Jul 11, 2025
b6242d9
fix: remove extra parameter in accelerator registry decorator
YgLK Jul 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
122 changes: 52 additions & 70 deletions .actions/assistant.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,18 @@
import glob
import logging
import os
import pathlib
import re
import shutil
import tarfile
import tempfile
import urllib.request
from distutils.version import LooseVersion
from collections.abc import Iterable, Iterator, Sequence
from itertools import chain
from os.path import dirname, isfile
from pathlib import Path
from typing import Any, Dict, Iterable, Iterator, List, Optional, Sequence, Tuple, Union
from typing import Any, Optional

from pkg_resources import Requirement, parse_requirements, yield_lines
from packaging.requirements import Requirement
from packaging.version import Version

REQUIREMENT_FILES = {
"pytorch": (
Expand All @@ -35,11 +34,6 @@
"requirements/pytorch/strategies.txt",
"requirements/pytorch/examples.txt",
),
"app": (
"requirements/app/app.txt",
"requirements/app/cloud.txt",
"requirements/app/ui.txt",
),
"fabric": (
"requirements/fabric/base.txt",
"requirements/fabric/strategies.txt",
Expand Down Expand Up @@ -87,14 +81,15 @@ def adjust(self, unfreeze: str) -> str:
out = str(self)
if self.strict:
return f"{out} {self.strict_string}"
specs = [(spec.operator, spec.version) for spec in self.specifier]
if unfreeze == "major":
for operator, version in self.specs:
for operator, version in specs:
if operator in ("<", "<="):
major = LooseVersion(version).version[0]
major = Version(version).major
# replace upper bound with major version increased by one
return out.replace(f"{operator}{version}", f"<{major + 1}.0")
elif unfreeze == "all":
for operator, version in self.specs:
for operator, version in specs:
if operator in ("<", "<="):
# drop upper bound
return out.replace(f"{operator}{version},", "")
Expand All @@ -103,33 +98,25 @@ def adjust(self, unfreeze: str) -> str:
return out


def _parse_requirements(strs: Union[str, Iterable[str]]) -> Iterator[_RequirementWithComment]:
def _parse_requirements(lines: Iterable[str]) -> Iterator[_RequirementWithComment]:
"""Adapted from `pkg_resources.parse_requirements` to include comments.

>>> txt = ['# ignored', '', 'this # is an', '--piparg', 'example', 'foo # strict', 'thing', '-r different/file.txt']
>>> [r.adjust('none') for r in _parse_requirements(txt)]
['this', 'example', 'foo # strict', 'thing']
>>> txt = '\\n'.join(txt)
>>> [r.adjust('none') for r in _parse_requirements(txt)]
['this', 'example', 'foo # strict', 'thing']

"""
lines = yield_lines(strs)
pip_argument = None
for line in lines:
line = line.strip()
if not line or line.startswith("#"):
continue
# Drop comments -- a hash without a space may be in a URL.
if " #" in line:
comment_pos = line.find(" #")
line, comment = line[:comment_pos], line[comment_pos:]
else:
comment = ""
# If there is a line continuation, drop it, and append the next line.
if line.endswith("\\"):
line = line[:-2].strip()
try:
line += next(lines)
except StopIteration:
return
# If there's a pip argument, save it
if line.startswith("--"):
pip_argument = line
Expand All @@ -141,7 +128,7 @@ def _parse_requirements(strs: Union[str, Iterable[str]]) -> Iterator[_Requiremen
pip_argument = None


def load_requirements(path_dir: str, file_name: str = "base.txt", unfreeze: str = "all") -> List[str]:
def load_requirements(path_dir: str, file_name: str = "base.txt", unfreeze: str = "all") -> list[str]:
"""Loading requirements from a file.

>>> path_req = os.path.join(_PROJECT_ROOT, "requirements")
Expand All @@ -155,7 +142,7 @@ def load_requirements(path_dir: str, file_name: str = "base.txt", unfreeze: str
logging.warning(f"Folder {path_dir} does not have any base requirements.")
return []
assert path.exists(), (path_dir, file_name, path)
text = path.read_text()
text = path.read_text().splitlines()
return [req.adjust(unfreeze) for req in _parse_requirements(text)]


Expand All @@ -167,8 +154,8 @@ def load_readme_description(path_dir: str, homepage: str, version: str) -> str:

"""
path_readme = os.path.join(path_dir, "README.md")
with open(path_readme, encoding="utf-8") as fo:
text = fo.read()
with open(path_readme, encoding="utf-8") as fopen:
text = fopen.read()

# drop images from readme
text = text.replace(
Expand Down Expand Up @@ -216,30 +203,6 @@ def distribute_version(src_folder: str, ver_file: str = "version.info") -> None:
shutil.copy2(ver_template, fpath)


def _download_frontend(pkg_path: str, version: str = "v0.0.0"):
"""Downloads an archive file for a specific release of the Lightning frontend and extracts it to the correct
directory."""

try:
frontend_dir = pathlib.Path(pkg_path, "ui")
download_dir = tempfile.mkdtemp()

shutil.rmtree(frontend_dir, ignore_errors=True)
# TODO: remove this once lightning-ui package is ready as a dependency
frontend_release_url = f"https://lightning-packages.s3.amazonaws.com/ui/{version}.tar.gz"
response = urllib.request.urlopen(frontend_release_url)

file = tarfile.open(fileobj=response, mode="r|gz")
file.extractall(path=download_dir) # noqa: S202

shutil.move(download_dir, frontend_dir)
print("The Lightning UI has successfully been downloaded!")

# If installing from source without internet connection, we don't want to break the installation
except Exception:
print("The Lightning UI downloading has failed!")


def _load_aggregate_requirements(req_dir: str = "requirements", freeze_requirements: bool = False) -> None:
"""Load all base requirements from all particular packages and prune duplicates.

Expand All @@ -260,7 +223,7 @@ def _load_aggregate_requirements(req_dir: str = "requirements", freeze_requireme
fp.writelines([ln + os.linesep for ln in requires] + [os.linesep])


def _retrieve_files(directory: str, *ext: str) -> List[str]:
def _retrieve_files(directory: str, *ext: str) -> list[str]:
all_files = []
for root, _, files in os.walk(directory):
for fname in files:
Expand All @@ -270,7 +233,7 @@ def _retrieve_files(directory: str, *ext: str) -> List[str]:
return all_files


def _replace_imports(lines: List[str], mapping: List[Tuple[str, str]], lightning_by: str = "") -> List[str]:
def _replace_imports(lines: list[str], mapping: list[tuple[str, str]], lightning_by: str = "") -> list[str]:
"""Replace imports of standalone package to lightning.

>>> lns = [
Expand Down Expand Up @@ -345,20 +308,20 @@ def copy_replace_imports(
if ext in (".pyc",):
continue
# Try to parse everything else
with open(fp, encoding="utf-8") as fo:
with open(fp, encoding="utf-8") as fopen:
try:
lines = fo.readlines()
lines = fopen.readlines()
except UnicodeDecodeError:
# a binary file, skip
print(f"Skipped replacing imports for {fp}")
continue
lines = _replace_imports(lines, list(zip(source_imports, target_imports)), lightning_by=lightning_by)
os.makedirs(os.path.dirname(fp_new), exist_ok=True)
with open(fp_new, "w", encoding="utf-8") as fo:
fo.writelines(lines)
with open(fp_new, "w", encoding="utf-8") as fopen:
fopen.writelines(lines)


def create_mirror_package(source_dir: str, package_mapping: Dict[str, str]) -> None:
def create_mirror_package(source_dir: str, package_mapping: dict[str, str]) -> None:
"""Create a mirror package with adjusted imports."""
# replace imports and copy the code
mapping = package_mapping.copy()
Expand Down Expand Up @@ -399,18 +362,18 @@ def _prune_packages(req_file: str, packages: Sequence[str]) -> None:
if not ln_ or ln_.startswith("#"):
final.append(line)
continue
req = list(parse_requirements(ln_))[0]
req = list(_parse_requirements([ln_]))[0]
if req.name not in packages:
final.append(line)
print(final)
path.write_text("\n".join(final) + "\n")

@staticmethod
def _replace_min(fname: str) -> None:
with open(fname, encoding="utf-8") as fo:
req = fo.read().replace(">=", "==")
with open(fname, "w", encoding="utf-8") as fw:
fw.write(req)
with open(fname, encoding="utf-8") as fopen:
req = fopen.read().replace(">=", "==")
with open(fname, "w", encoding="utf-8") as fwrite:
fwrite.write(req)

@staticmethod
def replace_oldest_ver(requirement_fnames: Sequence[str] = REQUIREMENT_FILES_ALL) -> None:
Expand Down Expand Up @@ -466,7 +429,7 @@ def pull_docs_files(
raise RuntimeError(f"Requesting file '{zip_url}' does not exist or it is just unavailable.")

with zipfile.ZipFile(zip_file, "r") as zip_ref:
zip_ref.extractall(tmp) # noqa: S202
zip_ref.extractall(tmp)

zip_dirs = [d for d in glob.glob(os.path.join(tmp, "*")) if os.path.isdir(d)]
# check that the extracted archive has only repo folder
Expand Down Expand Up @@ -508,15 +471,34 @@ def convert_version2nightly(ver_file: str = "src/version.info") -> None:
"""Load the actual version and convert it to the nightly version."""
from datetime import datetime

with open(ver_file) as fo:
version = fo.read().strip()
with open(ver_file) as fopen:
version = fopen.read().strip()
# parse X.Y.Z version and prune any suffix
vers = re.match(r"(\d+)\.(\d+)\.(\d+).*", version)
# create timestamp YYYYMMDD
timestamp = datetime.now().strftime("%Y%m%d")
version = f"{'.'.join(vers.groups())}.dev{timestamp}"
with open(ver_file, "w") as fo:
fo.write(version + os.linesep)
with open(ver_file, "w") as fopen:
fopen.write(version + os.linesep)

@staticmethod
def generate_docker_tags(
release_version: str,
python_version: str,
torch_version: str,
cuda_version: str,
docker_project: str = "pytorchlightning/pytorch_lightning",
add_latest: bool = False,
) -> None:
"""Generate docker tags for the given versions."""
tags = [f"latest-py{python_version}-torch{torch_version}-cuda{cuda_version}"]
if release_version:
tags += [f"{release_version}-py{python_version}-torch{torch_version}-cuda{cuda_version}"]
if add_latest:
tags += ["latest"]

tags = [f"{docker_project}:{tag}" for tag in tags]
print(",".join(tags))


if __name__ == "__main__":
Expand Down
3 changes: 2 additions & 1 deletion .actions/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
jsonargparse >=4.16.0, <4.28.0
jsonargparse
requests
packaging
Loading
Loading