METADATA 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. Metadata-Version: 2.4
  2. Name: lightning-utilities
  3. Version: 0.15.3
  4. Summary: Lightning toolbox for across the our ecosystem.
  5. Home-page: https://github.com/Lightning-AI/utilities
  6. Download-URL: https://github.com/Lightning-AI/utilities
  7. Author: Lightning AI et al.
  8. Author-email: developer@lightning.ai
  9. License: Apache-2.0
  10. Project-URL: Bug Tracker, https://github.com/Lightning-AI/utilities/issues
  11. Project-URL: Documentation, https://dev-toolbox.rtfd.io/en/latest/
  12. Project-URL: Source Code, https://github.com/Lightning-AI/utilities
  13. Keywords: Utilities,DevOps,CI/CD
  14. Classifier: Environment :: Console
  15. Classifier: Natural Language :: English
  16. Classifier: Development Status :: 3 - Alpha
  17. Classifier: Intended Audience :: Developers
  18. Classifier: Operating System :: OS Independent
  19. Classifier: Programming Language :: Python :: 3
  20. Classifier: Programming Language :: Python :: 3.10
  21. Classifier: Programming Language :: Python :: 3.11
  22. Classifier: Programming Language :: Python :: 3.12
  23. Classifier: Programming Language :: Python :: 3.13
  24. Classifier: Programming Language :: Python :: 3.14
  25. Requires-Python: >=3.10
  26. Description-Content-Type: text/markdown
  27. License-File: LICENSE
  28. Requires-Dist: packaging>=22
  29. Requires-Dist: typing_extensions
  30. Provides-Extra: typing
  31. Requires-Dist: mypy>=1.0.0; extra == "typing"
  32. Requires-Dist: types-setuptools; extra == "typing"
  33. Provides-Extra: docs
  34. Requires-Dist: requests>=2.0.0; extra == "docs"
  35. Provides-Extra: cli
  36. Requires-Dist: jsonargparse[signatures]>=4.38.0; extra == "cli"
  37. Requires-Dist: tomlkit; extra == "cli"
  38. Dynamic: author
  39. Dynamic: author-email
  40. Dynamic: classifier
  41. Dynamic: description
  42. Dynamic: description-content-type
  43. Dynamic: download-url
  44. Dynamic: home-page
  45. Dynamic: keywords
  46. Dynamic: license
  47. Dynamic: license-file
  48. Dynamic: project-url
  49. Dynamic: provides-extra
  50. Dynamic: requires-dist
  51. Dynamic: requires-python
  52. Dynamic: summary
  53. # Lightning Utilities
  54. [![PyPI Status](https://badge.fury.io/py/lightning-utilities.svg)](https://badge.fury.io/py/lightning-utilities)
  55. [![license](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/Lightning-AI/utilities/blob/main/LICENSE)
  56. [![PyPI - Downloads](https://img.shields.io/pypi/dm/lightning-utilities)](https://pepy.tech/project/lightning-utilities)
  57. [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/lightning-utilities)](https://pypi.org/project/lightning-utilities/)
  58. [![UnitTests](https://github.com/Lightning-AI/utilities/actions/workflows/ci-testing.yml/badge.svg?event=push)](https://github.com/Lightning-AI/utilities/actions/workflows/ci-testing.yml)
  59. [![Apply checks](https://github.com/Lightning-AI/utilities/actions/workflows/ci-use-checks.yaml/badge.svg?event=push)](https://github.com/Lightning-AI/utilities/actions/workflows/ci-use-checks.yaml)
  60. [![Docs Status](https://readthedocs.org/projects/lit-utilities/badge/?version=latest)](https://lit-utilities.readthedocs.io/en/latest/?badge=latest)
  61. [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/Lightning-AI/utilities/main.svg)](https://results.pre-commit.ci/latest/github/Lightning-AI/utilities/main)
  62. __This repository covers the following use-cases:__
  63. 1. _Reusable GitHub workflows_
  64. 2. _Shared GitHub actions_
  65. 3. _General Python utilities in `lightning_utilities.core`_
  66. 4. _CLI `python -m lightning_utilities.cli --help`_
  67. ## 1. Reusable workflows
  68. __Usage:__
  69. ```yaml
  70. name: Check schema
  71. on: [push]
  72. jobs:
  73. check-schema:
  74. uses: Lightning-AI/utilities/.github/workflows/check-schema.yml@v0.5.0
  75. with:
  76. azure-dir: "" # skip Azure check
  77. check-code:
  78. uses: Lightning-AI/utilities/.github/workflows/check-code.yml@main
  79. with:
  80. actions-ref: main # normally you shall use the same version as the workflow
  81. ```
  82. 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).
  83. ## 2. Reusable composite actions
  84. See available composite actions [.github/actions/](https://github.com/Lightning-AI/utilities/tree/main/.github/actions).
  85. __Usage:__
  86. ```yaml
  87. name: Do something with cache
  88. on: [push]
  89. jobs:
  90. pytest:
  91. runs-on: ubuntu-24.04
  92. steps:
  93. - uses: actions/checkout@v3
  94. - uses: actions/setup-python@v4
  95. with:
  96. python-version: 3.10
  97. - uses: Lightning-AI/utilities/.github/actions/cache
  98. with:
  99. python-version: 3.10
  100. requires: oldest # or latest
  101. ```
  102. ## 3. General Python utilities `lightning_utilities.core`
  103. <details>
  104. <summary>Installation</summary>
  105. From source:
  106. ```bash
  107. pip install https://github.com/Lightning-AI/utilities/archive/refs/heads/main.zip
  108. ```
  109. From pypi:
  110. ```bash
  111. pip install lightning_utilities
  112. ```
  113. </details>
  114. __Usage:__
  115. Example for optional imports:
  116. ```python
  117. from lightning_utilities.core.imports import module_available
  118. if module_available("some_package.something"):
  119. from some_package import something
  120. ```
  121. ## 4. CLI `lightning_utilities.cli`
  122. The package provides common CLI commands.
  123. <details>
  124. <summary>Installation</summary>
  125. From pypi:
  126. ```bash
  127. pip install lightning_utilities[cli]
  128. ```
  129. </details>
  130. __Usage:__
  131. ```bash
  132. python -m lightning_utilities.cli [group] [command]
  133. ```
  134. <details>
  135. <summary>Example for setting min versions</summary>
  136. ```console
  137. $ cat requirements/test.txt
  138. coverage>=5.0
  139. codecov>=2.1
  140. pytest>=6.0
  141. pytest-cov
  142. pytest-timeout
  143. $ python -m lightning_utilities.cli requirements set-oldest
  144. $ cat requirements/test.txt
  145. coverage==5.0
  146. codecov==2.1
  147. pytest==6.0
  148. pytest-cov
  149. pytest-timeout
  150. ```
  151. </details>