https://github.com/lightning-ai/utilities
Common Python utilities and GitHub Actions in Lightning Ecosystem
https://github.com/lightning-ai/utilities
ci-cd developer-tools github-actions
Last synced: 28 days ago
JSON representation
Common Python utilities and GitHub Actions in Lightning Ecosystem
- Host: GitHub
- URL: https://github.com/lightning-ai/utilities
- Owner: Lightning-AI
- License: apache-2.0
- Created: 2022-04-28T01:39:16.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-05-12T18:17:09.000Z (about 1 month ago)
- Last Synced: 2025-05-16T05:07:00.423Z (28 days ago)
- Topics: ci-cd, developer-tools, github-actions
- Language: Python
- Homepage:
- Size: 65.1 MB
- Stars: 56
- Watchers: 7
- Forks: 16
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Lightning Utilities
[](https://badge.fury.io/py/lightning-utilities)
[](https://github.com/Lightning-AI/utilities/blob/master/LICENSE)
[](https://pepy.tech/project/lightning-utilities)
[](https://pypi.org/project/lightning-utilities/)[](https://github.com/Lightning-AI/utilities/actions/workflows/ci-testing.yml)
[](https://github.com/Lightning-AI/utilities/actions/workflows/ci-use-checks.yaml)
[](https://lit-utilities.readthedocs.io/en/latest/?badge=latest)
[](https://results.pre-commit.ci/latest/github/Lightning-AI/utilities/main)__This repository covers the following use-cases:__
1. _Reusable GitHub workflows_
2. _Shared GitHub actions_
3. _General Python utilities in `lightning_utilities.core`_
4. _CLI `python -m lightning_utilities.cli --help`_## 1. Reusable workflows
__Usage:__
```yaml
name: Check schemaon: [push]
jobs:
check-schema:
uses: Lightning-AI/utilities/.github/workflows/[email protected]
with:
azure-dir: "" # skip Azure checkcheck-code:
uses: Lightning-AI/utilities/.github/workflows/check-code.yml@main
with:
actions-ref: main # normally you shall use the same version as the workflow
```See usage of other workflows in [.github/workflows/ci-use-checks.yaml](https://github.com/Lightning-AI/utilities/tree/main/.github/workflows/ci-use-checks.yaml).
## 2. Reusable composite actions
See available composite actions [.github/actions/](https://github.com/Lightning-AI/utilities/tree/main/.github/actions).
__Usage:__
```yaml
name: Do something with cacheon: [push]
jobs:
pytest:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: 3.9
- uses: Lightning-AI/utilities/.github/actions/cache
with:
python-version: 3.9
requires: oldest # or latest
```## 3. General Python utilities `lightning_utilities.core`
Installation
From source:```bash
pip install https://github.com/Lightning-AI/utilities/archive/refs/heads/main.zip
```From pypi:
```bash
pip install lightning_utilities
```__Usage:__
Example for optional imports:
```python
from lightning_utilities.core.imports import module_availableif module_available("some_package.something"):
from some_package import something
```## 4. CLI `lightning_utilities.cli`
The package provides common CLI commands.
Installation
From pypi:
```bash
pip install lightning_utilities[cli]
```__Usage:__
```bash
python -m lightning_utilities.cli [group] [command]
```Example for setting min versions
```console
$ cat requirements/test.txt
coverage>=5.0
codecov>=2.1
pytest>=6.0
pytest-cov
pytest-timeout
$ python -m lightning_utilities.cli requirements set-oldest
$ cat requirements/test.txt
coverage==5.0
codecov==2.1
pytest==6.0
pytest-cov
pytest-timeout
```