Metadata-Version: 2.1
Name: project-lighter
Version: 0.0.3a7
Summary: YAML-based automated rapid prototyping framework for deep learning experiments
Home-page: https://github.com/lighter/lighter
License: MIT
Author: Ibrahim Hadzic
Author-email: ibrahimhadzic45@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: absl-py (==2.1.0)
Requires-Dist: aiohappyeyeballs (==2.4.0)
Requires-Dist: aiohttp (==3.10.5)
Requires-Dist: aiosignal (==1.3.1)
Requires-Dist: annotated-types (==0.7.0)
Requires-Dist: async-timeout (==4.0.3)
Requires-Dist: attrs (==24.2.0)
Requires-Dist: certifi (==2024.7.4)
Requires-Dist: charset-normalizer (==3.3.2)
Requires-Dist: filelock (==3.15.4)
Requires-Dist: fire (==0.5.0)
Requires-Dist: frozenlist (==1.4.1)
Requires-Dist: fsspec (==2024.6.1)
Requires-Dist: grpcio (==1.65.5)
Requires-Dist: idna (==3.7)
Requires-Dist: importlib-metadata (==8.3.0)
Requires-Dist: jinja2 (==3.1.4)
Requires-Dist: lightning-utilities (==0.11.6)
Requires-Dist: loguru (==0.6.0)
Requires-Dist: markdown (==3.7)
Requires-Dist: markdown-it-py (==3.0.0)
Requires-Dist: markupsafe (==2.1.5)
Requires-Dist: mdurl (==0.1.2)
Requires-Dist: monai (==1.3.2)
Requires-Dist: mpmath (==1.3.0)
Requires-Dist: multidict (==6.0.5)
Requires-Dist: networkx (==3.2.1)
Requires-Dist: numpy (==1.26.4)
Requires-Dist: nvidia-cublas-cu12 (==12.1.3.1)
Requires-Dist: nvidia-cuda-cupti-cu12 (==12.1.105)
Requires-Dist: nvidia-cuda-nvrtc-cu12 (==12.1.105)
Requires-Dist: nvidia-cuda-runtime-cu12 (==12.1.105)
Requires-Dist: nvidia-cudnn-cu12 (==8.9.2.26)
Requires-Dist: nvidia-cufft-cu12 (==11.0.2.54)
Requires-Dist: nvidia-curand-cu12 (==10.3.2.106)
Requires-Dist: nvidia-cusolver-cu12 (==11.4.5.107)
Requires-Dist: nvidia-cusparse-cu12 (==12.1.0.106)
Requires-Dist: nvidia-nccl-cu12 (==2.19.3)
Requires-Dist: nvidia-nvjitlink-cu12 (==12.6.20)
Requires-Dist: nvidia-nvtx-cu12 (==12.1.105)
Requires-Dist: packaging (==24.1)
Requires-Dist: pandas (==1.5.3)
Requires-Dist: pillow (==10.4.0)
Requires-Dist: protobuf (==5.27.3)
Requires-Dist: pydantic (==2.8.2)
Requires-Dist: pydantic-core (==2.20.1)
Requires-Dist: pygments (==2.18.0)
Requires-Dist: python-dateutil (==2.9.0.post0)
Requires-Dist: pytorch-lightning (==2.4.0)
Requires-Dist: pytz (==2024.1)
Requires-Dist: pyyaml (==6.0.2)
Requires-Dist: requests (==2.32.3)
Requires-Dist: rich (==13.7.1)
Requires-Dist: setuptools (==73.0.0)
Requires-Dist: six (==1.16.0)
Requires-Dist: sympy (==1.13.2)
Requires-Dist: tensorboard (==2.17.1)
Requires-Dist: tensorboard-data-server (==0.7.2)
Requires-Dist: termcolor (==2.4.0)
Requires-Dist: torch (==2.2.2)
Requires-Dist: torchmetrics (==1.4.1)
Requires-Dist: torchvision (==0.17.2)
Requires-Dist: tqdm (==4.66.5)
Requires-Dist: triton (==2.2.0)
Requires-Dist: typing-extensions (==4.12.2)
Requires-Dist: urllib3 (==2.2.2)
Requires-Dist: werkzeug (==3.0.3)
Requires-Dist: yarl (==1.9.4)
Requires-Dist: zipp (==3.20.0)
Project-URL: Repository, https://github.com/lighter/lighter
Description-Content-Type: text/markdown


<br/>
<div align="center">
<picture>
  <!-- old code that allows different pics for light/dark mode -->
  <!--
  <source media="(prefers-color-scheme: dark)" srcset="./assets/images/lighter_dark.png">
  <source media="(prefers-color-scheme: light)" srcset="./assets/images/lighter_light.png">
   -->
  <img align="center" alt="Lighter logo" src="./assets/images/lighter.png">
</picture>
</div>
<br/>
<br/>
<br/>
<div align="center">

[![build](https://github.com/project-lighter/lighter/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/project-lighter/lighter/actions/workflows/build.yml) ![Coverage](./assets/images/coverage.svg) [![GitHub license](https://img.shields.io/github/license/project-lighter/lighter)](https://github.com/project-lighter/lighter/blob/main/LICENSE)

<a href="https://discord.gg/zJcnp6KrUp">
  <img src="https://discord.com/api/guilds/1252251284908539965/widget.png?style=banner2" alt="Lighter Discord Server"/>
</a>
</div>


&nbsp;


Focus on your deep learning experiments and forget about (re)writing code. `lighter` is:
 1. **Task-agnostic**

    Whether you’re working on classification, segmentation, or self-supervised learning, `lighter` provides generalized training logic that you can use out-of-the-box.

 2. **Configuration-based**

    Easily define, track, and reproduce experiments with `lighter`’s configuration-driven approach, keeping all your hyperparameters organized.

 3. **Customizable**

    Seamlessly integrate your custom models, datasets, or transformations into `lighter`’s flexible framework.

&nbsp;

`lighter` stands on the shoulder of these two giants:
 - [MONAI Bundle](https://docs.monai.io/en/stable/bundle_intro.html) - Configuration system. Similar to [Hydra](https://github.com/facebookresearch/hydra), but with additional features.
 - [PyTorch Lightning](https://github.com/Lightning-AI/lightning) - Our [`LighterSystem`](https://project-lighter.github.io/lighter/reference/system/) is based on the PyTorch Lightning [`LightningModule`](https://lightning.ai/docs/pytorch/stable/common/lightning_module.html) and implements all the necessary training logic for you. Couple it with the PyTorch Lightning [Trainer](https://lightning.ai/docs/pytorch/stable/common/trainer.html) and you're good to go.

<br/>
<div align="center">Simply put, <code>lighter = config(trainer + system)</code>  😇</div>
<br/>

## 📖 Getting Started
<div align="center">
<p style="text-align: center;">
  📚 <a href="https://project-lighter.github.io/lighter/"> Documentation</a>&nbsp;&nbsp;&nbsp;
  🎥 <a href="https://www.youtube.com/channel/UCef1oTpv2QEBrD2pZtrdk1Q">YouTube Channel</a>&nbsp;&nbsp;&nbsp;
  👾 <a href="https://discord.gg/zJcnp6KrUp">Discord Server</a>
</p>
</div>

<b>Install:</b>
<pre><code>pip install project-lighter</code></pre>
<details>
<summary><b>Pre-release (up-to-date with the main branch):</b></summary>
<pre><code>pip install project-lighter --pre</code></pre>
</details>

<details>
<summary><b>For development:</b></summary>
<pre><code>make setup
make install             # Install lighter via Poetry
make pre-commit-install  # Set up the pre-commit hook for code formatting
poetry shell             # Once installed, activate the poetry shell</code></pre>
</details>
<br/>


## 💡 Projects
Projects that use `lighter`:

| Project | Description |
| --- | --- |
| [Foundation Models for Quantitative Imaging Biomarker Discovery in Cancer Imaging](https://aim.hms.harvard.edu/foundation-cancer-image-biomarker) | A foundation model for lesions on CT scans that can be applied to down-stream tasks related to tumor radiomics, nodule classification, etc. |

<br/>

## Cite
<pre><code>@software{lighter,
author       = {Ibrahim Hadzic and
                Suraj Pai and
                Keno Bressem and
                Hugo Aerts},
title        = {Lighter},
publisher    = {Zenodo},
doi          = {10.5281/zenodo.8007711},
url          = {https://doi.org/10.5281/zenodo.8007711}
}</code></pre>
</div>

