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
Setup and Installation
-
Clone the repository:
git clone https://github.com/dotlabshq/lucide-py.git cd lucide-py
-
Build the environment: This will create a virtual environment and install all the necessary dependencies.
make build-env -
Download the icons: This will clone the original
luciderepository to download the SVG icon assets.make setup-resources -
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56c52024f29d0a83fe8e774fcc07dae040a450f3b59f51c46cfff4727f6c642f
|
|
| MD5 |
3c479afea2c1a86b4dee986503d36d7c
|
|
| BLAKE2b-256 |
b560dbf9a8f816be1d39cd5576e3da5f0d24fe0a894dddf56d96a835e2989eb7
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e04280536e4d09c565590ca79cf663fed87e728fa4abab70b92546d88125ee24
|
|
| MD5 |
ff18063ec15e1fc903137f6f427090af
|
|
| BLAKE2b-256 |
b4d7a5fefe222960f13b1d338c9a9783fcba220206bdce0d728cc3fd298bc949
|