Skip to content

Latest commit

 

History

History
59 lines (41 loc) · 3.31 KB

README.md

File metadata and controls

59 lines (41 loc) · 3.31 KB

lucide-fasthtml

Any use of the code retrieved from lucide.dev is subject to the terms of the Lucide license, found here.

PyPI - Version PyPI - Python Version

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)

Table of Contents

Installation

pip install lucide-fasthtml

Usage

from lucide_fasthtml import Lucide

Lucide("sun") # or Lucide(icon="sun")

Customization

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.

License

lucide-fasthtml is distributed under the terms of the MIT license.