Home
Softono

Utilities

Open source Apache-2.0 Python
62
Stars
23
Forks
11
Issues
7
Watchers
2 months
Last Commit

 About Utilities

Common Python utilities and GitHub Actions in Lightning Ecosystem

Platforms

Web Self-hosted

Languages

Python

Links

Need Help Installing Utilities?

We provide expert installation service for this software. Our team will install, configure, and secure Utilities on your server. plans start at just $30.

Lightning Utilities

PyPI Status license PyPI - Downloads PyPI - Python Version

UnitTests Apply checks Docs Status pre-commit.ci status

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/[email protected]
    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