Skip to main content

Lightning toolbox for across the our ecosystem.

Project description

Lightning Utilities

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. CLI python -m lightning_utilities.cli --help
  4. General Python utilities in lightning_utilities.core

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-20.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. CLI lightning_utilities.cli

The package provides common CLI commands.

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

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

4. General Python utilities lightning_utilities.core

Installation

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lightning-utilities-0.11.2.tar.gz (27.6 kB view hashes)

Uploaded Source

Built Distribution

lightning_utilities-0.11.2-py3-none-any.whl (26.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page