Skip to main content

cjm-fasthtml-lucide-icons

Install

pip install cjm_fasthtml_lucide_icons

Project Structure

nbs/
├── registry/ (3)
│   ├── categories.ipynb  # Auto-generated category index for Lucide icons.
│   ├── icons.ipynb       # Auto-generated registry of Lucide icon data.
│   └── tags.ipynb        # Auto-generated tag index for Lucide icons.
├── core.ipynb     # Data structures for representing Lucide icon elements and metadata.
├── factory.ipynb  # SVG factory function for building FastHTML Lucide icon components.
└── utils.ipynb    # Discovery utilities for browsing and searching available Lucide icons.

Total: 6 notebooks across 1 directory

Module Dependencies

graph LR
    core[core<br/>core]
    factory[factory<br/>factory]
    registry_categories[registry.categories<br/>registry.categories]
    registry_icons[registry.icons<br/>registry.icons]
    registry_tags[registry.tags<br/>registry.tags]
    utils[utils<br/>utils]

    factory --> core
    registry_icons --> core
    utils --> registry_icons
    utils --> registry_tags
    utils --> registry_categories

5 cross-module dependencies detected

CLI Reference

No CLI commands found in this project.

Module Overview

Detailed documentation for each module in the project:

registry.categories (categories.ipynb)

Auto-generated category index for Lucide icons.

Import

from cjm_fasthtml_lucide_icons.registry.categories import (
    CATEGORIES
)

Variables

CATEGORIES: Dict[str, List[str]]

core (core.ipynb)

Data structures for representing Lucide icon elements and metadata.

Import

from cjm_fasthtml_lucide_icons.core import (
    SvgElement,
    PathElement,
    CircleElement,
    RectElement,
    LineElement,
    EllipseElement,
    PolylineElement,
    PolygonElement,
    IconData
)

Classes

@dataclass
class PathElement:
    "SVG path element data."
    
    d: str  # path data string
@dataclass
class CircleElement:
    "SVG circle element data."
    
    cx: str  # center x coordinate
    cy: str  # center y coordinate
    r: str  # radius
@dataclass
class RectElement:
    "SVG rect element data."
    
    x: str  # x position
    y: str  # y position
    width: str  # width
    height: str  # height
    rx: Optional[str]  # corner radius (optional)
@dataclass
class LineElement:
    "SVG line element data."
    
    x1: str  # start x
    y1: str  # start y
    x2: str  # end x
    y2: str  # end y
@dataclass
class EllipseElement:
    "SVG ellipse element data."
    
    cx: str  # center x coordinate
    cy: str  # center y coordinate
    rx: str  # x radius
    ry: str  # y radius
@dataclass
class PolylineElement:
    "SVG polyline element data."
    
    points: str  # space-separated coordinate pairs
@dataclass
class PolygonElement:
    "SVG polygon element data."
    
    points: str  # space-separated coordinate pairs
@dataclass
class IconData:
    "Container for a Lucide icon's SVG elements and metadata."
    
    elements: List[SvgElement]  # SVG child elements
    categories: List[str] = field(...)  # category assignments
    tags: List[str] = field(...)  # searchable tags

factory (factory.ipynb)

SVG factory function for building FastHTML Lucide icon components.

Import

from cjm_fasthtml_lucide_icons.factory import (
    lucide_icon
)

Functions

def _build_element(
    element: SvgElement  # element dataclass to convert
):  # FastHTML SVG element component
    "Convert an element dataclass to a FastHTML SVG component."
def _build_svg(
    icon_data: IconData,  # icon data containing SVG elements
    size: int = 5,        # Tailwind size scale (default 5 = 20px)
    cls: str = None,      # additional CSS classes
    **kwargs              # additional SVG attributes
) -> Svg:  # FastHTML Svg component
    "Build a FastHTML Svg component from IconData."
def lucide_icon(
    name: str,        # icon name (e.g., "folder", "arrow-up")
    size: int = 5,    # Tailwind size scale (default 5 = 20px)
    cls: str = None,  # additional CSS classes (e.g., daisyUI colors)
    **kwargs          # additional SVG attributes
) -> Svg:  # FastHTML Svg component
    "Get a Lucide icon as a FastHTML Svg component."

registry.icons (icons.ipynb)

Auto-generated registry of Lucide icon data.

Import

from cjm_fasthtml_lucide_icons.registry.icons import (
    ICONS
)

Variables

ICONS: Dict[str, IconData]

registry.tags (tags.ipynb)

Auto-generated tag index for Lucide icons.

Import

from cjm_fasthtml_lucide_icons.registry.tags import (
    TAGS
)

Variables

TAGS: Dict[str, List[str]]

utils (utils.ipynb)

Discovery utilities for browsing and searching available Lucide icons.

Import

from cjm_fasthtml_lucide_icons.utils import (
    list_icons,
    icon_count,
    get_categories,
    category_count,
    search_icons,
    get_tags,
    tag_count,
    get_icon_categories,
    get_icon_tags
)

Functions

def list_icons(
    category: Optional[str] = None  # filter by category name (optional)
) -> List[str]:  # sorted list of icon names
    "List available icon names, optionally filtered by category."
def icon_count(
    category: Optional[str] = None  # filter by category name (optional)
) -> int:  # number of icons
    "Get the count of available icons, optionally filtered by category."
def get_categories() -> List[str]:  # sorted list of category names
    "List all available category names."
def category_count() -> int:  # number of categories
    "Get the count of available categories."
def search_icons(
    tag: str  # tag to search for
) -> List[str]:  # sorted list of icon names with that tag
    "Search for icons by tag."
def get_tags() -> List[str]:  # sorted list of all tags
    "List all available tags."
def tag_count() -> int:  # number of tags
    "Get the count of available tags."
def get_icon_categories(
    name: str  # icon name
) -> List[str]:  # categories the icon belongs to
    "Get the categories an icon belongs to."
def get_icon_tags(
    name: str  # icon name
) -> List[str]:  # tags assigned to the icon
    "Get the tags assigned to an icon."

Metadata

Release files for cjm-fasthtml-lucide-icons 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cjm-fasthtml-lucide-icons 0.0.1
File Size Uploaded Provenance
cjm_fasthtml_lucide_icons-0.0.1.tar.gz 198.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for cjm-fasthtml-lucide-icons 0.0.1
File Interpreter ABI Platform
cjm_fasthtml_lucide_icons-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 399.1 kB

Release files / cjm_fasthtml_lucide_icons-0.0.1.tar.gz

Download URL cjm_fasthtml_lucide_icons-0.0.1.tar.gz
Size 198.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b6792415569fc36d72022aa2f28fbddaa624d5402e293f6cda42f5a9a325efda
BLAKE2b-256 checksum
How to use checksums
2cc5fae376ebc6669581b61637c54fed3d9f93e695063db875fa1d0374835a07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / cjm_fasthtml_lucide_icons-0.0.1-py3-none-any.whl

Download URL cjm_fasthtml_lucide_icons-0.0.1-py3-none-any.whl
Size 201.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
512b10cd5adb6d71c674784a5f2874ae3157f8508fe7ac352d4504cdbaaeb2c9
BLAKE2b-256 checksum
How to use checksums
ad6a7c05debb472ea23906c4055199ec9f2d9be1ca3cfaa10655ff88a0270417
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Security for cjm-fasthtml-lucide-icons 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page