Any use of the code retrieved from lucide.dev is subject to the terms of the Lucide license, found here.
A small package for FastHTML that allows you to use Lucide icons efficiently with fasthtml projects, avoiding cdn's and downloading entire static bundles. Features include:
- Full tree-shaking support - only saves the icons you use.
- Client-side
script
retrieval on cache-miss - Streamlined attribute handling for full customization (mimics lucide-react)
- On-demand download/save of icons. Downloaded on first call and stored in a dict within the package.
- Immediate icon retrieval on cache-hit (SSR)
pip install lucide-fasthtml
from lucide_fasthtml import Lucide
Lucide("sun") # or Lucide(icon="sun")
Supports all standard svg attributes. Defaults are set to the standard defaults found at lucide.dev. For ease of use, streamlined attributes used by lucide-react
are also supported in a FastHTML-compatible format.
lucide-react | lucide-fasthtml | notes |
---|---|---|
color="red" |
color="red" |
Can be used instead of stroke . Sets the color of the icon stroke. |
strokeWidth="2" |
stroke_width="2" |
Sets the stroke width of the icon. |
absoluteStrokeWidth=True |
absolute_sw=True |
Calculates the stroke width based on the icon's size, to standardize the stroke width across different icon sizes. |
size=16 |
size=16 |
Can be used instead of width and height properties. Sets the size (width and height) of the icon to the specified value. |
Lucide("sun", color="red", stroke_width="1.5", absolute_sw=True, size=16)
All icon data can be found in the generated icons.py
file within the package. You can manually add/remove icons as needed, or delete the entire file to re-download all used icons when started next.
lucide-fasthtml
is distributed under the terms of the MIT license.