python-lucide 0.5.3__tar.gz → 0.5.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. {python_lucide-0.5.3 → python_lucide-0.5.5}/PKG-INFO +15 -1
  2. {python_lucide-0.5.3 → python_lucide-0.5.5}/README.md +14 -0
  3. {python_lucide-0.5.3 → python_lucide-0.5.5}/pyproject.toml +1 -1
  4. {python_lucide-0.5.3 → python_lucide-0.5.5}/pyproject.toml.orig +3 -3
  5. {python_lucide-0.5.3 → python_lucide-0.5.5}/src/lucide/cli.py +14 -7
  6. {python_lucide-0.5.3 → python_lucide-0.5.5}/src/lucide/config.py +1 -1
  7. {python_lucide-0.5.3 → python_lucide-0.5.5}/src/lucide/core.py +32 -1
  8. {python_lucide-0.5.3 → python_lucide-0.5.5}/src/lucide/data/gemini-icon-descriptions.jsonl +50 -0
  9. {python_lucide-0.5.3 → python_lucide-0.5.5}/src/lucide/data/lucide-icon-clusters.json +4744 -4524
  10. python_lucide-0.5.5/src/lucide/data/lucide-icons.db +0 -0
  11. {python_lucide-0.5.3 → python_lucide-0.5.5}/tests/cli_test.py +44 -0
  12. {python_lucide-0.5.3 → python_lucide-0.5.5}/tests/core_test.py +95 -0
  13. python_lucide-0.5.3/src/lucide/data/lucide-icons.db +0 -0
  14. {python_lucide-0.5.3 → python_lucide-0.5.5}/src/lucide/__init__.py +0 -0
  15. {python_lucide-0.5.3 → python_lucide-0.5.5}/src/lucide/build_clusters.py +0 -0
  16. {python_lucide-0.5.3 → python_lucide-0.5.5}/src/lucide/build_search.py +0 -0
  17. {python_lucide-0.5.3 → python_lucide-0.5.5}/src/lucide/data/__init__.py +0 -0
  18. {python_lucide-0.5.3 → python_lucide-0.5.5}/src/lucide/db.py +0 -0
  19. {python_lucide-0.5.3 → python_lucide-0.5.5}/src/lucide/dev_utils.py +0 -0
  20. {python_lucide-0.5.3 → python_lucide-0.5.5}/src/lucide/search.py +0 -0
  21. {python_lucide-0.5.3 → python_lucide-0.5.5}/tests/__init__.py +0 -0
  22. {python_lucide-0.5.3 → python_lucide-0.5.5}/tests/build_clusters_test.py +0 -0
  23. {python_lucide-0.5.3 → python_lucide-0.5.5}/tests/build_search_test.py +0 -0
  24. {python_lucide-0.5.3 → python_lucide-0.5.5}/tests/conftest.py +0 -0
  25. {python_lucide-0.5.3 → python_lucide-0.5.5}/tests/search_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: python-lucide
3
- Version: 0.5.3
3
+ Version: 0.5.5
4
4
  Summary: A Python package for working with Lucide icons
5
5
  Keywords: lucide,icons,svg,sqlite
6
6
  Author: Mike Macpherson
@@ -85,6 +85,20 @@ lucide_icon("user", fill="currentColor") # Inherit color from CSS
85
85
  lucide_icon("user", stroke="#ff6b6b") # Hex colors work too
86
86
  ```
87
87
 
88
+ ### Renamed icons and aliases
89
+
90
+ Every database build imports Lucide's alias mappings and deprecation metadata
91
+ from the selected upstream release. For example, `lucide_icon("album")` resolves
92
+ to `square-bookmark`, while keeping the requested name in its CSS classes.
93
+ Canonical names take precedence over aliases.
94
+
95
+ Aliases marked deprecated by Lucide emit a standard Python `DeprecationWarning`
96
+ with the recommended replacement. Ordinary aliases do not warn. Warnings occur
97
+ on uncached renders and follow Python's warning filters; they are normally hidden
98
+ outside `__main__`. To see them during development, run your application with
99
+ `python -W default::DeprecationWarning app.py`. Existing databases without
100
+ deprecation metadata still resolve aliases without warnings.
101
+
88
102
  ## Semantic Search
89
103
 
90
104
  Find icons by describing what you mean, not what they're called — in English
@@ -59,6 +59,20 @@ lucide_icon("user", fill="currentColor") # Inherit color from CSS
59
59
  lucide_icon("user", stroke="#ff6b6b") # Hex colors work too
60
60
  ```
61
61
 
62
+ ### Renamed icons and aliases
63
+
64
+ Every database build imports Lucide's alias mappings and deprecation metadata
65
+ from the selected upstream release. For example, `lucide_icon("album")` resolves
66
+ to `square-bookmark`, while keeping the requested name in its CSS classes.
67
+ Canonical names take precedence over aliases.
68
+
69
+ Aliases marked deprecated by Lucide emit a standard Python `DeprecationWarning`
70
+ with the recommended replacement. Ordinary aliases do not warn. Warnings occur
71
+ on uncached renders and follow Python's warning filters; they are normally hidden
72
+ outside `__main__`. To see them during development, run your application with
73
+ `python -W default::DeprecationWarning app.py`. Existing databases without
74
+ deprecation metadata still resolve aliases without warnings.
75
+
62
76
  ## Semantic Search
63
77
 
64
78
  Find icons by describing what you mean, not what they're called — in English
@@ -45,7 +45,7 @@ keywords = [
45
45
  name = "python-lucide"
46
46
  readme = "README.md"
47
47
  requires-python = ">=3.10"
48
- version = "0.5.3"
48
+ version = "0.5.5"
49
49
 
50
50
  [[project.authors]]
51
51
  name = "Mike Macpherson"
@@ -26,7 +26,7 @@ dev = [
26
26
  ]
27
27
 
28
28
  [project]
29
- authors = [{name = "Mike Macpherson"}]
29
+ authors = [{ name = "Mike Macpherson" }]
30
30
  classifiers = [
31
31
  "Development Status :: 4 - Beta",
32
32
  "Intended Audience :: Developers",
@@ -42,11 +42,11 @@ classifiers = [
42
42
  dependencies = []
43
43
  description = "A Python package for working with Lucide icons"
44
44
  keywords = ["lucide", "icons", "svg", "sqlite"]
45
- license = {text = "MIT"}
45
+ license = { text = "MIT" }
46
46
  name = "python-lucide"
47
47
  readme = "README.md"
48
48
  requires-python = ">=3.10"
49
- version = "0.5.3"
49
+ version = "0.5.5"
50
50
 
51
51
  [project.optional-dependencies]
52
52
  search = ["cairosvg>=2.7.0", "fastembed>=0.4.0"]
@@ -185,7 +185,9 @@ def _create_database(
185
185
  )
186
186
  cursor.execute(
187
187
  "CREATE TABLE icon_aliases"
188
- " (name TEXT NOT NULL, alias TEXT NOT NULL, UNIQUE(name, alias))"
188
+ " (name TEXT NOT NULL, alias TEXT NOT NULL,"
189
+ " deprecated INTEGER NOT NULL DEFAULT 0,"
190
+ " deprecation_reason TEXT NOT NULL DEFAULT '', UNIQUE(name, alias))"
189
191
  )
190
192
 
191
193
  current_time = datetime.now().isoformat()
@@ -316,15 +318,20 @@ def _add_metadata_to_db(
316
318
  "INSERT OR IGNORE INTO icon_categories VALUES (?, ?)", (name, cat)
317
319
  )
318
320
  for alias_entry in data.get("aliases", []):
319
- alias_name = (
320
- alias_entry
321
- if isinstance(alias_entry, str)
322
- else alias_entry.get("name", "")
321
+ alias_data = (
322
+ {"name": alias_entry} if isinstance(alias_entry, str) else alias_entry
323
323
  )
324
+ alias_name = alias_data.get("name", "")
324
325
  if alias_name:
325
326
  cursor.execute(
326
- "INSERT OR IGNORE INTO icon_aliases VALUES (?, ?)",
327
- (name, alias_name),
327
+ "INSERT OR IGNORE INTO icon_aliases "
328
+ "(name, alias, deprecated, deprecation_reason) VALUES (?, ?, ?, ?)",
329
+ (
330
+ name,
331
+ alias_name,
332
+ bool(alias_data.get("deprecated", False)),
333
+ alias_data.get("deprecationReason", ""),
334
+ ),
328
335
  )
329
336
 
330
337
  if verbose:
@@ -6,7 +6,7 @@ This module contains default configuration values used throughout the package.
6
6
  from dataclasses import dataclass
7
7
 
8
8
  # Default Lucide tag to use when building the icon database
9
- DEFAULT_LUCIDE_TAG = "1.37.0"
9
+ DEFAULT_LUCIDE_TAG = "1.45.0"
10
10
 
11
11
  # Default size for the LRU cache used by lucide_icon function
12
12
  DEFAULT_ICON_CACHE_SIZE = 128
@@ -8,6 +8,7 @@ This module provides functions to retrieve Lucide icons from a SQLite database.
8
8
  import functools
9
9
  import logging
10
10
  import sqlite3
11
+ import warnings
11
12
  import xml.etree.ElementTree as ET
12
13
 
13
14
  from .config import DEFAULT_ICON_CACHE_SIZE
@@ -172,7 +173,7 @@ def lucide_icon(
172
173
  """Fetches a Lucide icon SVG from the database with caching.
173
174
 
174
175
  Args:
175
- icon_name: Name of the Lucide icon to fetch.
176
+ icon_name: Canonical name or alias of the Lucide icon to fetch.
176
177
  cls: Optional CSS class string to apply/append to the SVG element.
177
178
  Multiple classes can be space-separated.
178
179
  fallback_text: Optional text to display if the icon is not found.
@@ -198,6 +199,33 @@ def lucide_icon(
198
199
  cursor.execute("SELECT svg FROM icons WHERE name = ?", (icon_name,))
199
200
  row = cursor.fetchone()
200
201
 
202
+ if row is None:
203
+ # Older/custom databases may predate alias metadata.
204
+ alias_columns = {
205
+ column[1]
206
+ for column in cursor.execute("PRAGMA table_info(icon_aliases)")
207
+ }
208
+ if alias_columns:
209
+ deprecated_column = (
210
+ "icon_aliases.deprecated"
211
+ if "deprecated" in alias_columns
212
+ else "0"
213
+ )
214
+ row = cursor.execute(
215
+ f"SELECT icons.svg, icons.name, {deprecated_column} "
216
+ "FROM icon_aliases "
217
+ "JOIN icons ON icons.name = icon_aliases.name "
218
+ "WHERE icon_aliases.alias = ?",
219
+ (icon_name,),
220
+ ).fetchone()
221
+ if row and row[2]:
222
+ warnings.warn(
223
+ f"Lucide icon '{icon_name}' is a deprecated alias; "
224
+ f"use '{row[1]}' instead.",
225
+ DeprecationWarning,
226
+ stacklevel=2,
227
+ )
228
+
201
229
  if not row or not row[0]:
202
230
  logger.warning(f"Lucide icon '{icon_name}' not found in database.")
203
231
  return create_placeholder_svg(icon_name, fallback_text)
@@ -217,6 +245,9 @@ def lucide_icon(
217
245
  stroke_linejoin=stroke_linejoin,
218
246
  )
219
247
 
248
+ except DeprecationWarning:
249
+ # Respect applications that promote deprecation warnings to errors.
250
+ raise
220
251
  except sqlite3.Error as e:
221
252
  logger.error(f"Database query error for icon '{icon_name}': {e}")
222
253
  return create_placeholder_svg(icon_name, fallback_text, f"DB Error: {e}")
@@ -1817,3 +1817,53 @@
1817
1817
  {"name": "mail-clock", "description": "This icon visually combines an open envelope with a clock, representing scheduled or delayed email delivery. It evokes concepts of pending messages, timed communications, and reminders for outgoing mail.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.37.0", "tags": ["email", "message", "letter", "unread", "scheduled", "delayed", "sendlater", "delivery", "reminder", "pending", "outgoing", "timer"], "categories": ["text", "account", "mail", "time", "notifications", "communication"], "timestamp": "2026-08-30T16:29:16.718457+00:00"}
1818
1818
  {"name": "credit-card-x", "description": "This icon shows a credit card with a red \"X\" marking, symbolizing a declined, invalid, or rejected payment. It conveys a sense of failure, cancellation, or an error related to financial transactions or banking.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.37.0", "tags": ["debit", "payment", "banking", "finance", "transaction", "wallet", "purchase", "checkout", "billing", "account", "cardholder", "declined", "rejected", "failed", "invalid", "canceled", "error", "cancel", "bank", "cc"], "categories": ["account", "finance", "shopping"], "timestamp": "2026-08-30T16:29:16.730248+00:00"}
1819
1819
  {"name": "credit-card-check", "description": "This icon depicts a credit card with a checkmark, symbolizing a successful or approved payment transaction. It represents concepts of validation, authorization, completion, and a positive outcome for financial activities like purchases or billing.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.37.0", "tags": ["debit", "payment", "banking", "finance", "transaction", "wallet", "purchase", "checkout", "billing", "account", "cardholder", "verified", "approved", "authorized", "valid", "success", "complete", "check", "bank", "cc"], "categories": ["account", "finance", "shopping"], "timestamp": "2026-08-30T16:29:16.798981+00:00"}
1820
+ {"name": "square-exclamation-point", "description": "This icon depicts a bold, square outline containing a prominent exclamation mark. It visually signifies urgency, alert, and important information. It conveys concepts of warning, danger, or a call for attention and caution.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["warning", "alert", "danger", "exclamation mark", "rectangle", "square", "notification", "attention", "important", "caution"], "categories": ["notifications", "shapes"], "timestamp": "2026-09-06T15:17:37.098124+00:00"}
1821
+ {"name": "shrimp-off", "description": "This icon visually represents a stylized shrimp or prawn with a diagonal line crossing it, signifying prohibition or negation. It evokes concepts of exclusion, avoidance, or a warning related to seafood, particularly shellfish, often associated with dietary restrictions or allergies.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["marine", "creature", "fisherman", "ocean", "fresh", "cuisine", "marine-life", "seafood", "shellfish", "crustacean", "prawn", "scallop", "whelk", "arthropod", "littleneck", "quahog", "allergy", "intolerance", "diet"], "categories": ["animals", "food-beverage"], "timestamp": "2026-09-06T15:17:37.104973+00:00"}
1822
+ {"name": "mail-pen", "description": "This icon depicts an open envelope with a pen beside it. It represents the actions of composing, writing, editing, or replying to an email or message, signifying the creation of written communication.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["email", "message", "letter", "pen", "edit", "compose", "draft", "write", "writing", "create", "reply"], "categories": ["mail"], "timestamp": "2026-09-06T15:17:37.115312+00:00"}
1823
+ {"name": "germ-off", "description": "This icon visually represents a stylized germ or microbe with spiky protrusions, crossed out by a diagonal line. It symbolizes the absence or removal of germs, signifying health, protection, and the prevention of infection or contamination.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["virus", "microbe", "bacterium", "bacteria", "germ", "organism", "cilia", "pathogen", "infection", "disease", "contagion", "contamination", "microbiology", "health", "medicine", "biology", "science", "microorganism", "pandemic", "epidemic", "outbreak", "amoeba", "flu", "security", "single cell", "unicellular", "vaccine", "immunity", "quarantine"], "categories": ["medical", "science", "security"], "timestamp": "2026-09-06T15:17:37.126004+00:00"}
1824
+ {"name": "credit-card-reader", "description": "This icon depicts a credit card being inserted into a slot. It represents financial transactions, payment processing, and retail interactions, symbolizing the act of making a purchase or accessing funds via a card reader.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["bank", "purchase", "payment", "cc", "atm", "terminal", "checkout", "kiosk", "pos", "point of sale", "transaction", "contactless", "chip", "swipe", "tap", "banking", "finance", "retail"], "categories": ["finance", "navigation", "shopping"], "timestamp": "2026-09-06T15:17:37.139527+00:00"}
1825
+ {"name": "germ", "description": "This icon visually represents a single-celled microorganism, like a bacterium or virus, with a distinct nucleus and external projections. It symbolizes concepts of infection, disease, contagion, and the unseen world of microbiology and health, suggesting potential threats and scientific study.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["virus", "microbe", "bacterium", "bacteria", "germ", "organism", "cilia", "pathogen", "infection", "disease", "contagion", "contamination", "microbiology", "health", "medicine", "biology", "science", "microorganism", "pandemic", "epidemic", "outbreak", "amoeba", "flu", "security", "single cell", "unicellular", "vaccine", "immunity", "quarantine"], "categories": ["medical", "science", "security"], "timestamp": "2026-09-06T15:17:37.142777+00:00"}
1826
+ {"name": "virus", "description": "This icon depicts a stylized virus, featuring a central sphere with irregular shapes and radiating spikes. It visually represents infectious agents, disease, and contagion, evoking concepts of illness, outbreaks, and potential threats to health and security.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["pathogen", "infection", "disease", "illness", "contagion", "outbreak", "pandemic", "epidemic", "covid", "coronavirus", "germ", "microbe", "microorganism", "biology", "medical", "healthcare", "malware", "cybersecurity", "threat"], "categories": ["medical", "science", "security"], "timestamp": "2026-09-06T15:17:37.185148+00:00"}
1827
+ {"name": "shopping-cart-minus", "description": "This icon visually represents a shopping cart with a minus symbol. It signifies the action of removing items, decreasing quantity, or subtracting from a purchase within an e-commerce or retail context. It conveys the idea of refining or reducing selections.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["trolley", "cart", "basket", "e-commerce", "ecommerce", "store", "purchase", "products", "items", "checkout", "order", "retail", "remove", "decrease", "quantity", "subtract"], "categories": ["shopping"], "timestamp": "2026-09-06T15:17:37.185225+00:00"}
1828
+ {"name": "can-soda", "description": "This icon depicts a stylized soda can, symbolizing a refreshing beverage or a quick drink. It can represent refreshment, enjoyment, or the act of consuming a canned product, often associated with leisure or a quick break. It also subtly hints at the concept of waste or recycling.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["beverage", "drink", "food", "soda", "tin", "beer", "alcohol", "waste"], "categories": ["food-beverage"], "timestamp": "2026-09-06T15:17:37.186240+00:00"}
1829
+ {"name": "lighthouse", "description": "This icon depicts a lighthouse with light beams emanating from its top. It symbolizes guidance, safety, and a beacon of hope, representing direction and clarity in navigation, particularly in maritime contexts.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["lighthouse", "beacon", "coast", "navigation", "tower", "sea", "ocean", "maritime", "guide", "safety", "light", "shine", "port", "marine", "faro", "signal", "nautical", "harbor", "shore", "lightbeam", "wayfinding", "guidance", "onboarding", "help", "landmark"], "categories": ["buildings", "navigation", "travel"], "timestamp": "2026-09-06T15:17:37.185577+00:00"}
1830
+ {"name": "virus-off", "description": "This icon visually represents a stylized virus symbol with a diagonal line through it. It signifies the concept of a virus being blocked, removed, or neutralized, representing safety, prevention, and the absence of contagion or illness.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["pathogen", "infection", "disease", "illness", "contagion", "outbreak", "pandemic", "epidemic", "covid", "coronavirus", "germ", "microbe", "microorganism", "biology", "medical", "healthcare", "malware", "cybersecurity", "threat", "antivirus", "blocked", "removed", "clean", "safe", "prevention", "quarantine"], "categories": ["medical", "science", "security"], "timestamp": "2026-09-06T15:17:37.195968+00:00"}
1831
+ {"name": "door-stairwell", "description": "This icon visually represents a doorway leading to a set of stairs, depicting vertical movement and access between different levels. It symbolizes transitions, entrances, exits, and routes within a building, suggesting progress or a change in location.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["staircase", "stairway", "stairs", "steps", "ladder", "transition", "access", "structure", "espiral", "building", "vertical", "movement", "floor", "level", "entrance", "entry", "exit", "egress", "route", "indoor", "emergency exit"], "categories": ["home", "travel"], "timestamp": "2026-09-06T15:17:37.207102+00:00"}
1832
+ {"name": "shopping-cart-plus", "description": "This icon depicts a shopping cart with a plus symbol, visually representing the action of adding items. It signifies increasing quantity, purchasing products, or enhancing a selection, conveying a sense of addition and acquisition in a commercial context.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["trolley", "cart", "basket", "e-commerce", "ecommerce", "store", "purchase", "products", "items", "checkout", "order", "retail", "add", "increase", "quantity", "buy"], "categories": ["shopping"], "timestamp": "2026-09-06T15:17:37.219410+00:00"}
1833
+ {"name": "bridge", "description": "This icon visually depicts a suspension bridge, with two towers supporting a curved deck. It symbolizes overcoming obstacles, connecting disparate points, and facilitating travel or progress across a divide. It represents infrastructure and journeys.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["overpass", "cross over", "traverse", "viaduct", "suspension", "infrastructure", "transportation", "crossing", "road", "river", "gate", "golden", "travel", "landmark", "route", "maritime", "clearance"], "categories": ["travel", "transportation", "buildings"], "timestamp": "2026-09-06T15:17:37.232557+00:00"}
1834
+ {"name": "can", "description": "This icon depicts an open tin can, suggesting its contents are accessible or have been revealed. It symbolizes preserved food, storage, and recyclability, evoking themes of groceries, pantry items, and potential waste or resource management.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["food", "storage", "groceries", "tin", "metal", "recyclable", "container", "pantry", "grocery", "preserved"], "categories": ["food-beverage"], "timestamp": "2026-09-06T15:17:37.255126+00:00"}
1835
+ {"name": "engine", "description": "This icon visually represents an engine. It symbolizes power, drive, and the mechanical aspects of vehicles. It can also convey concepts related to maintenance, repair, diagnostics, and potential warnings or issues with a vehicle's motor.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["vehicle", "power", "energy", "drive", "repair", "car", "motor", "mechanical", "diagnostics", "maintenance", "warning", "dashboard", "parts"], "categories": ["transportation"], "timestamp": "2026-09-06T15:17:37.279277+00:00"}
1836
+ {"name": "whistle", "description": "This icon visually depicts a whistle, a simple tool often used to produce loud sounds. It represents signaling, initiating an action, or issuing an alert, commonly associated with sports, training, and emergency situations. It evokes a sense of authority and immediate attention.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["alert", "signal", "sound", "blow", "noise", "coach", "trainer", "referee", "gym", "game", "training", "sports", "traffic cops", "police", "lifeguard", "safety", "rescue", "emergency"], "categories": ["sports", "notifications"], "timestamp": "2026-09-06T15:17:37.279932+00:00"}
1837
+ {"name": "vector-polygon", "description": "This icon visually represents a polygon with five vertices, interconnected by straight lines. It symbolizes geometric shapes, data points, and the concept of defining an area or boundary. The interconnected nature suggests relationships or pathways within a defined space, applicable to maps and spatial data.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.41.0", "tags": ["map", "vector", "geometry", "coordinates", "shape", "location", "boundary", "area", "region", "gis", "geospatial", "vertices", "points", "outline", "drawing", "design", "math"], "categories": ["design", "math", "shapes"], "timestamp": "2026-09-06T15:17:37.316750+00:00"}
1838
+ {"name": "layout-arrow-right", "description": "This icon depicts two stacked squares positioned above a horizontal arrow pointing right. It visually represents arranging elements horizontally, indicating a flow or progression from left to right, and suggests a process or directional movement of content.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["layout", "direction", "flex", "flexbox", "flex-direction", "row", "auto layout", "horizontal", "arrange", "order", "flow", "stack"], "categories": ["design", "layout"], "timestamp": "2026-09-13T15:59:43.311955+00:00"}
1839
+ {"name": "gap-vertical", "description": "This icon visually represents two horizontal bars with a dashed line between them, signifying a vertical separation. It conveys concepts of spacing, distance, and distribution, often used to illustrate how elements are arranged with gaps or padding.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["gap", "spacing", "space", "between", "padding", "margin", "vertical", "auto layout", "layout", "distance", "frame", "distribute"], "categories": ["design", "layout"], "timestamp": "2026-09-13T15:59:43.314083+00:00"}
1840
+ {"name": "globe-code", "description": "This icon visually represents a stylized globe with coding brackets emerging from its upper right quadrant. It signifies global coding, international development, and the digital connection of programming to the world, suggesting accessible, worldwide code creation and sharing.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["website", "internet", "globe", "connection", "network", "digital", "access", "global", "link", "world", "browser", "language", "translate"], "categories": ["navigation", "development"], "timestamp": "2026-09-13T15:59:43.328152+00:00"}
1841
+ {"name": "equal-approximately-not", "description": "This icon visually represents the mathematical concept of \"approximately not equal to.\" It signifies that two values are not the same, nor are they close enough to be considered approximately equal, indicating a significant difference or mismatch.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["calculate", "math", "operator", "not", "approximately", "unequal", "code", "≇", "tolerance", "threshold", "mismatch", "comparison", "assertion", "variance"], "categories": ["math", "development", "charts", "science"], "timestamp": "2026-09-13T15:59:43.336419+00:00"}
1842
+ {"name": "building-complex-plus", "description": "This icon visually represents a building complex or a stack of documents, augmented with a plus sign. It symbolizes adding a new business, organization, or property, suggesting concepts like registration, onboarding, creation, or expansion.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["business", "company", "enterprise", "skyscraper", "organisation", "organization", "city", "new", "add", "create", "increase", "office", "headquarters", "startup", "registration", "onboarding", "realestate", "property"], "categories": ["account", "buildings"], "timestamp": "2026-09-13T15:59:43.343873+00:00"}
1843
+ {"name": "carton", "description": "This icon depicts a stylized carton, likely for milk or juice, with a distinct angled top. It symbolizes packaged beverages, dairy products, and the concept of groceries or food items. It suggests nourishment and a convenient consumable.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["milk", "dairy", "beverage", "drink", "diet", "lactose", "liquid", "liter", "litre", "pint", "pints", "pasteurized", "skim", "skimmed", "container", "packaging", "grocery", "juice", "cream", "cow"], "categories": ["food-beverage"], "timestamp": "2026-09-13T15:59:43.375595+00:00"}
1844
+ {"name": "messages-circle", "description": "This icon depicts two overlapping speech bubbles, suggesting a dynamic exchange. It represents communication, conversation, discussion, and the concept of multiple messages or participants in a dialogue. It signifies interaction and the flow of ideas.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["comment", "chat", "conversation", "dialog", "feedback", "speech bubbles", "copy", "multiple", "discussion", "interview", "debate", "group", "groupchat", "threads", "unread", "bubble", "messaging"], "categories": ["social", "communication", "notifications"], "timestamp": "2026-09-13T15:59:43.398563+00:00"}
1845
+ {"name": "layout-arrow-down", "description": "This icon visually represents two stacked squares with an arrow pointing downwards. It conveys concepts of vertical arrangement, ordering, or descending flow. It suggests stacking items or a downward-trending sequence, indicating a layout that prioritizes vertical alignment and direction.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["layout", "direction", "flex", "flexbox", "flex-direction", "column", "auto layout", "vertical", "arrange", "order", "flow", "stack"], "categories": ["design", "layout"], "timestamp": "2026-09-13T15:59:43.405797+00:00"}
1846
+ {"name": "hourglass-cog", "description": "This icon combines an hourglass with a cogwheel, symbolizing the configuration or fine-tuning of time-related processes. It suggests settings for duration, countdowns, or managing time-sensitive operations, representing control and adjustment over timed events.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["timer", "time", "sandglass", "duration", "settings", "gear", "cog", "edit", "configuration", "countdown", "timeout", "expiration"], "categories": ["time", "tools"], "timestamp": "2026-09-13T15:59:43.415823+00:00"}
1847
+ {"name": "circle-dashed-check", "description": "A dashed circle encloses a prominent checkmark. This icon signifies completion, approval, or a task that has passed review. It conveys a sense of confirmation, satisfactory progress, or a successfully implemented change.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["approved", "pending", "changes", "revision", "reapproval", "published", "schedule", "assignment", "request", "review", "progress", "issue", "draft", "code", "coding", "version control"], "categories": ["shapes", "development", "notifications"], "timestamp": "2026-09-13T15:59:43.442351+00:00"}
1848
+ {"name": "gap-horizontal", "description": "This icon depicts two parallel vertical lines with a dashed line between them, enclosed by outward-curving horizontal strokes. It represents horizontal spacing, distribution, and the concept of creating distance or gaps between elements.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["gap", "spacing", "space", "between", "padding", "margin", "horizontal", "auto layout", "layout", "distance", "frame", "distribute"], "categories": ["design", "layout"], "timestamp": "2026-09-13T15:59:43.446599+00:00"}
1849
+ {"name": "calendar-chevrons-right", "description": "This icon visually represents a calendar with two right-pointing chevrons. It symbolizes advancing to the next day, month, or year, suggesting forward movement through time or progression in a schedule or event list.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["navigation", "arrow", "right", "chevron", "direction", "symbol", "pointer", "indicator", "next", "menu", "date", "day", "month", "year", "events", "chevrons"], "categories": ["time", "arrows", "navigation"], "timestamp": "2026-09-13T15:59:43.466422+00:00"}
1850
+ {"name": "dome", "description": "This icon visually represents a domed structure, featuring a rounded roof atop a building with arched entrances. It evokes concepts of protection, architectural grandeur, religious significance, and historical landmarks.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["roof", "cupola", "rotunda", "shelter", "building", "architecture", "structure", "church", "christian", "orthodox", "byzantine", "cathedral", "basilica", "chapel", "monument", "landmark", "museum", "observatory", "heritage"], "categories": ["buildings", "navigation", "travel"], "timestamp": "2026-09-13T15:59:43.478243+00:00"}
1851
+ {"name": "building-complex", "description": "This icon depicts a stylized cluster of buildings, suggesting a complex of structures. It represents concepts of business, enterprise, and organizations, evoking a sense of corporate presence, development, or a cityscape.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["business", "company", "enterprise", "skyscraper", "organisation", "organization", "city"], "categories": ["account", "buildings"], "timestamp": "2026-09-13T15:59:43.487210+00:00"}
1852
+ {"name": "iv-bag", "description": "This icon depicts an intravenous drip bag with a curved fluid line, symbolizing medical treatment, therapy, and the administration of medication or hydration. It represents care, regeneration, and potentially supplements or blood donation.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["intravenous", "therapy", "infusion", "medicine", "medication", "treatment", "healthcare", "hydration", "vitamin", "supplement", "blood", "donation", "chemotherapy", "clinic", "feeding tube", "administration", "health", "regeneration"], "categories": ["medical"], "timestamp": "2026-09-13T15:59:43.517402+00:00"}
1853
+ {"name": "mouth", "description": "This icon depicts a stylized pair of lips, slightly parted, suggesting an open mouth. It represents concepts of speech, communication, and expression, as well as the sensory experiences of taste and flavor. It can also evoke emotions conveyed through oral gestures.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["speech", "voice", "talk", "speaking", "taste", "tasting", "flavor", "palate", "tongue", "gustatory", "oral", "dental", "expression", "communication", "accessibility"], "categories": ["medical", "accessibility", "communication"], "timestamp": "2026-09-13T15:59:43.528627+00:00"}
1854
+ {"name": "carton-off", "description": "This icon visually depicts a carton with a diagonal line through it, symbolizing negation or unavailability. It represents the absence of a product, such as milk or beverages, often indicating an allergy, intolerance, or a non-dairy or vegan option is not available.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["milk", "dairy", "beverage", "drink", "diet", "lactose free", "non dairy", "liquid", "liter", "litre", "pint", "pints", "pasteurized", "skim", "skimmed", "container", "packaging", "allergy", "intolerance", "vegan", "unavailable"], "categories": ["food-beverage"], "timestamp": "2026-09-13T15:59:43.569249+00:00"}
1855
+ {"name": "mouth-off", "description": "This icon visually represents a mouth with a diagonal line through it and a curved arrow originating from it, suggesting the prohibition of speaking or vocalization. It conveys concepts of silence, muting, or an inability to communicate verbally, as well as potential implications for taste or oral functions.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["speech", "voice", "talk", "mute", "silence", "speechless", "taste loss", "flavor loss", "ageusia", "tasteless", "gustatory", "oral", "dental", "communication", "accessibility"], "categories": ["medical", "accessibility", "communication"], "timestamp": "2026-09-13T15:59:43.649186+00:00"}
1856
+ {"name": "book-bookmark", "description": "This icon depicts a closed book with a bookmark peeking out from the top. It symbolizes saving or marking information for future reference, representing the act of bookmarking content for study, reading, or research.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["dictionary", "reading", "booklet", "magazine", "leaflet", "pamphlet", "tome", "library", "writing", "written", "writer", "author", "story", "script", "fiction", "novel", "information", "knowledge", "education", "high school", "university", "college", "academy", "student", "study", "learning", "homework", "research", "documentation", "saved", "later", "future", "reference", "index", "code", "coding", "version control", "git", "repository"], "categories": ["text", "development", "gaming"], "timestamp": "2026-09-13T15:59:43.733940+00:00"}
1857
+ {"name": "notebook-dot", "description": "This icon depicts an open notebook with a distinct dot positioned above it. It symbolizes new entries, unread messages, or pending notifications, suggesting an active or updated record requiring attention, like a journal or important document.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["document", "file", "journal", "page", "paper", "record", "entry", "notebook", "notification", "unread", "note"], "categories": ["communication"], "timestamp": "2026-09-13T15:59:43.920689+00:00"}
1858
+ {"name": "plant-pot", "description": "A simple, stylized drawing of a seedling emerging from a pot. It symbolizes growth, nurturing, and the natural beauty of plants, suggesting concepts of gardening, home decor, and the indoors.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["plant", "leaf", "nature", "pot", "houseplant", "gardening", "planter", "decor", "indoor"], "categories": ["home", "nature"], "timestamp": "2026-09-13T15:59:43.928888+00:00"}
1859
+ {"name": "park", "description": "This icon depicts a stylized tree with a circular sun above a picnic table. It represents nature, outdoor leisure, relaxation, and recreational activities. It evokes a sense of peaceful enjoyment in a natural setting, perfect for rest and outdoor recreation.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["nature", "green", "trees", "landscape", "rest", "walk", "leisure", "environment", "tree", "bench", "outdoors", "recreation"], "categories": ["nature", "navigation", "travel"], "timestamp": "2026-09-13T15:59:43.969975+00:00"}
1860
+ {"name": "square-bookmark", "description": "A square container, reminiscent of a book or a photo album, with a tab peeking from the top edge. This icon signifies saving, marking, or designating content for future reference or easy access, like a bookmark in a book or a saved image.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["photo", "book"], "categories": ["photography", "multimedia"], "timestamp": "2026-09-13T15:59:43.989593+00:00"}
1861
+ {"name": "triangles-centerline-dashed-horizontal", "description": "This icon shows two triangles, one pointing down and one pointing up, mirrored across a dashed horizontal line. It visually represents vertical symmetry, reflection, and mirroring, often signifying alignment or a centerline for adjustments.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["reflect", "mirror", "alignment", "dashed"], "categories": ["design", "photography"], "timestamp": "2026-09-13T15:59:44.010230+00:00"}
1862
+ {"name": "user-group", "description": "This icon visually depicts three stylized figures in a group. It represents concepts of community, teamwork, collaboration, and belonging. It can also signify family or a collective of individuals.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["group", "people", "team", "members", "community", "membership", "collaboration", "organization", "contacts", "directory", "staff", "family", "ancestry", "ancestors", "lineage", "parents"], "categories": ["account", "people", "social"], "timestamp": "2026-09-13T15:59:44.010445+00:00"}
1863
+ {"name": "toothbrush", "description": "This icon depicts a toothbrush with a distinct, ergonomic handle and bristled head. It symbolizes oral hygiene, dental care, and the act of cleaning teeth. It represents personal care, self-care routines, and maintaining healthy habits.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["dental care", "oral hygiene", "brushing", "teeth", "dentist", "bathroom", "toiletries", "personal care", "cleaning", "bristles", "handle", "plaque", "toothpaste", "selfcare", "grooming"], "categories": ["home", "travel", "tools", "medical"], "timestamp": "2026-09-13T15:59:44.029111+00:00"}
1864
+ {"name": "houses", "description": "This icon visually represents two connected houses, suggesting a neighborhood or community. It evokes concepts of housing, residential living, and development, symbolizing places people call home and shared living spaces.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["homes", "housing", "estate", "living", "buildings", "development", "residences", "residential", "village", "neighbourhood", "accommodation", "community", "dwellings", "architecture"], "categories": ["buildings", "home"], "timestamp": "2026-09-13T15:59:44.062068+00:00"}
1865
+ {"name": "toothbrush-sparkles", "description": "This icon depicts a toothbrush with small, stylized sparkles. It represents the concept of dental hygiene, oral care, and the action of brushing teeth for a fresh, clean feeling. It evokes a sense of cleanliness and personal grooming.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["dental care", "oral hygiene", "brushing", "teeth", "dentist", "bathroom", "toiletries", "personal care", "cleaning", "bristles", "handle", "plaque", "toothpaste", "selfcare", "grooming", "fresh", "clean"], "categories": ["home", "tools", "medical", "travel"], "timestamp": "2026-09-13T15:59:44.090984+00:00"}
1866
+ {"name": "trash-off", "description": "A stylized trash bin is crossed out by a diagonal line, signifying that deletion or removal is not allowed. It represents prevention, unavailability, or protection against discarding items, suggesting the action is disabled or locked.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["empty", "deletion", "cleanup", "junk", "clear", "garbage", "delete", "remove", "bin", "trash", "waste", "recycle", "discard", "rubbish", "disabled", "off", "prevent", "locked", "unavailable", "protected"], "categories": ["files", "mail"], "timestamp": "2026-09-13T15:59:44.165766+00:00"}
1867
+ {"name": "tic-tac-toe", "description": "This icon depicts a partially filled tic-tac-toe board with Xs and Os, showcasing the classic game's strategic grid. It symbolizes competition, decision-making, and the pursuit of victory through tactical placement and anticipation of the opponent's moves.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["game", "board", "grid", "strategy", "noughts and crosses"], "categories": ["gaming"], "timestamp": "2026-09-13T15:59:44.205480+00:00"}
1868
+ {"name": "triangles-centerline-dashed-vertical", "description": "This icon depicts two mirrored triangles on either side of a dashed vertical line. It represents concepts of reflection, symmetry, mirroring, and perfect alignment, suggesting balance and a central dividing line.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["reflect", "mirror", "alignment", "dashed"], "categories": ["design", "photography"], "timestamp": "2026-09-13T15:59:44.244422+00:00"}
1869
+ {"name": "user-round-group", "description": "This icon depicts three stylized figures arranged in a group. It represents concepts of community, teamwork, and collective belonging, suggesting shared identity, collaboration, and family ties within a larger social structure.", "model": "gemini-2.5-flash-lite", "prompt_template_hash": "7ae15a902cba", "lucide_version": "1.45.0", "tags": ["group", "people", "team", "members", "community", "membership", "collaboration", "organization", "contacts", "directory", "staff", "family", "ancestry", "ancestors", "lineage", "parents"], "categories": ["account", "people", "social"], "timestamp": "2026-09-13T15:59:44.839730+00:00"}