Skip to main content

A Lucide icon library package for Python applications

Project description

Lucide Python

A Python implementation of the lucide icon library that can be used with the tagflow package to easily render icons in your Python web applications.

This project provides a full set of lucide icons as Python context managers, along with a demo application to browse and search all available icons.

Features

  • Complete set of lucide icons: All icons from the lucide library are available.
  • Easy to use: Icons can be rendered as context managers using tagflow.
  • Customizable: Icons can be customized with width, height, and other SVG attributes.
  • Demo application: A web application to browse, search, and filter all icons.

Screenshot

App Screenshot

Setup and Installation

  1. Clone the repository:

    git clone https://github.com/dotlabshq/lucide-py.git
    cd lucide-py
    
  2. Build the environment: This will create a virtual environment and install all the necessary dependencies.

    make build-env
    
  3. Download the icons: This will clone the original lucide repository to download the SVG icon assets.

    make setup-resources
    
  4. Generate the icon library: This will generate the Python modules for each icon from the SVG assets.

    make generate-icons
    

Running the Demo Application

To browse all the available icons, you can run the demo application.

make run

This will start a web server on http://127.0.0.1:8000. Open this URL in your browser to see the icon library.

The demo application allows you to:

  • View all icons grouped by category.
  • Filter icons by category.
  • Search for icons by name.

Usage in Your Application

You can use the generated icons in any application that uses tagflow.

Here's an example of how to use an icon:

from lucide.icons import Activity
from tagflow import document

with document() as doc:
    with Activity(width="48", height="48", classes="text-blue-500"):
        pass

print(doc.to_html())

This will produce the following HTML:

<svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke_width="2" stroke_linecap="round" stroke_linejoin="round" class="text-blue-500">
    <path d="M22 12h-4l-3 9L9 3l-3 9H2"></path>
</svg>

Running Tests

To run the test suite, which verifies that all icons are generated correctly:

make test

License

Lucide is licensed under the MIT license. See LICENSE.

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

lucide_py-0.3.5.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lucide_py-0.3.5-py3-none-any.whl (777.4 kB view details)

Uploaded Python 3

File details

Details for the file lucide_py-0.3.5.tar.gz.

File metadata

  • Download URL: lucide_py-0.3.5.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for lucide_py-0.3.5.tar.gz
Algorithm Hash digest
SHA256 56c52024f29d0a83fe8e774fcc07dae040a450f3b59f51c46cfff4727f6c642f
MD5 3c479afea2c1a86b4dee986503d36d7c
BLAKE2b-256 b560dbf9a8f816be1d39cd5576e3da5f0d24fe0a894dddf56d96a835e2989eb7

See more details on using hashes here.

File details

Details for the file lucide_py-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: lucide_py-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 777.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for lucide_py-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e04280536e4d09c565590ca79cf663fed87e728fa4abab70b92546d88125ee24
MD5 ff18063ec15e1fc903137f6f427090af
BLAKE2b-256 b4d7a5fefe222960f13b1d338c9a9783fcba220206bdce0d728cc3fd298bc949

See more details on using hashes here.

Supported by

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