RepoLightning AILightning AIpublished Apr 28, 2022seen 5d

Lightning-AI/utilities

Python

Open original ↗

Captured source

source ↗
published Apr 28, 2022seen 5dcaptured 15hhttp 200method plain

Lightning-AI/utilities

Description: Common Python utilities and GitHub Actions in Lightning Ecosystem

Language: Python

License: Apache-2.0

Stars: 62

Forks: 23

Open issues: 11

Created: 2022-04-28T01:39:16Z

Pushed: 2026-06-08T16:32:48Z

Default branch: main

Fork: no

Archived: no

README:

Lightning Utilities

![PyPI Status](https://badge.fury.io/py/lightning-utilities)

![UnitTests](https://github.com/Lightning-AI/utilities/actions/workflows/ci-testing.yml) ![Apply checks](https://github.com/Lightning-AI/utilities/actions/workflows/ci-use-checks.yaml) ![Docs Status](https://lit-utilities.readthedocs.io/en/latest/?badge=latest) ![pre-commit.ci status](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:__

name: Check schema

on: [push]

jobs:

check-schema:
uses: Lightning-AI/utilities/.github/workflows/check-schema.yml@v0.5.0
with:
azure-dir: "" # skip Azure check

check-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.

2. Reusable composite actions

See available composite actions .github/actions/.

__Usage:__

name: Do something with cache

on: [push]

jobs:
pytest:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: 3.10
- uses: Lightning-AI/utilities/.github/actions/cache
with:
python-version: 3.10
requires: oldest # or latest

3. General Python utilities lightning_utilities.core

Installation From source:

pip install https://github.com/Lightning-AI/utilities/archive/refs/heads/main.zip

From pypi:

pip install lightning_utilities

__Usage:__

Example for optional imports:

from lightning_utilities.core.imports import module_available

if module_available("some_package.something"):
from some_package import something

4. CLI lightning_utilities.cli

The package provides common CLI commands.

Installation

From pypi:

pip install lightning_utilities[cli]

__Usage:__

python -m lightning_utilities.cli [group] [command]

Example for setting min versions

$ 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