Metadata-Version: 2.4
Name: tkinter-icons
Version: 5.0.0
Summary: Base package for font-based icons in Tkinter/ttkbootstrap with installable icon providers: Bootstrap, Font Awesome, Material, Ionicons, Remix, Fluent, Simple, Weather, Lucide, Eva & more.
Author-email: Israel Dryer <israel.dryer@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/israel-dryer/tkinter-icons
Keywords: tkinter,ttk,bootstrap,gui,desktop,python3,ui,widgets,theming,cross-platform,modern,responsive,python-gui,icon
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Win32 (MS Windows)
Classifier: Environment :: X11 Applications :: GTK
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pillow>=9.1.0
Requires-Dist: typing-extensions>=4.7.1
Provides-Extra: bootstrap
Requires-Dist: tkinter-icons-bs>=1.1.0; extra == "bootstrap"
Provides-Extra: devicon
Requires-Dist: tkinter-icons-devicon>=1.1.0; extra == "devicon"
Provides-Extra: eva
Requires-Dist: tkinter-icons-eva>=1.1.0; extra == "eva"
Provides-Extra: fluent
Requires-Dist: tkinter-icons-fluent>=1.1.0; extra == "fluent"
Provides-Extra: fluent-regular
Requires-Dist: tkinter-icons-fluent-reg>=1.1.0; extra == "fluent-regular"
Provides-Extra: fontawesome
Requires-Dist: tkinter-icons-fa>=1.1.0; extra == "fontawesome"
Provides-Extra: google-material
Requires-Dist: tkinter-icons-gmi>=1.1.0; extra == "google-material"
Provides-Extra: ionicons
Requires-Dist: tkinter-icons-ion>=1.1.0; extra == "ionicons"
Provides-Extra: lucide
Requires-Dist: tkinter-icons-lucide>=1.1.0; extra == "lucide"
Provides-Extra: material
Requires-Dist: tkinter-icons-mat>=1.1.0; extra == "material"
Provides-Extra: meteocons
Requires-Dist: tkinter-icons-meteocons>=1.1.0; extra == "meteocons"
Provides-Extra: remix
Requires-Dist: tkinter-icons-remix>=1.1.0; extra == "remix"
Provides-Extra: rpg-awesome
Requires-Dist: tkinter-icons-rpga>=1.1.0; extra == "rpg-awesome"
Provides-Extra: simple
Requires-Dist: tkinter-icons-simple>=1.1.0; extra == "simple"
Provides-Extra: typicons
Requires-Dist: tkinter-icons-typicons>=1.1.0; extra == "typicons"
Provides-Extra: weather
Requires-Dist: tkinter-icons-weather>=1.1.0; extra == "weather"
Dynamic: license-file

<picture>
  <source media="(prefers-color-scheme: dark)"
          srcset="https://raw.githubusercontent.com/israel-dryer/tkinter-icons/main/assets/png/wordmark-dark.png">
  <img alt="tkinter-icons"
       src="https://raw.githubusercontent.com/israel-dryer/tkinter-icons/main/assets/png/wordmark-light.png"
       width="420">
</picture>

[![PyPI](https://img.shields.io/pypi/v/tkinter-icons.svg)](https://pypi.org/project/tkinter-icons/)
[![Python Versions](https://img.shields.io/pypi/pyversions/tkinter-icons.svg)](https://pypi.org/project/tkinter-icons/)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](../../LICENSE)

Font-based icons for Tkinter — 61,000+ icons across sixteen sets, one import, no image files to manage.

## Install

One line puts a full icon set in your project:

```bash
pip install "tkinter-icons[material]"
```

```python
import tkinter as tk
from tkinter import ttk

from tkinter_icons import MaterialIcon

root = tk.Tk()

home = MaterialIcon("home", size=24, color="#0F766E")
ttk.Button(root, text="Home", image=home.image, compound="left").pack(padx=20, pady=20)

root.mainloop()
```

The quotes matter — most shells treat unquoted brackets as a glob. Name two packs together as `"tkinter-icons[material,simple]"`.

That is the whole model: one library, sixteen installable icon packs. The base package is the renderer; the glyphs come from the pack you named.

## The sixteen packs

`bootstrap` · `devicon` · `eva` · `fluent` · `fluent-regular` · `fontawesome` · `google-material` · `ionicons` · `lucide` · `material` · `meteocons` · `remix` · `rpg-awesome` · `simple` · `typicons` · `weather`

Sizes, styles, and glyph counts for each: **[the packs page](https://tkinter-icons.readthedocs.io/en/latest/packs.html)**.

## What you get

- **One API across every pack.** Each pack's class takes the same `(name, size, color, style)`, so switching sets is a one-line change.
- **Sharp at any size.** Glyphs are centered on measured ink rather than the font's own bounding box, which under-reports it. Odd sizes snap even; small sizes oversample and downscale.
- **No image assets to manage.** Size and color are arguments, not files. No `icons/` directory, no `@2x` duplicates, no second set for dark mode.
- **Follows your ttk theme.** `icon.map(widget)` tints the icon per widget state and re-renders it when the theme changes.
- **An icon browser.** Run `tkinter-icons` to search every installed set and copy the name you need.

## Documentation

- [Get started](https://tkinter-icons.readthedocs.io/en/latest/getting-started/installation.html)
- [Icon packs](https://tkinter-icons.readthedocs.io/en/latest/packs.html)
- [Stateful icons](https://tkinter-icons.readthedocs.io/en/latest/user-guide/stateful-icons.html)
- [API reference](https://tkinter-icons.readthedocs.io/en/latest/api.html)
- [Repository](https://github.com/israel-dryer/tkinter-icons)

## Upgrading from ttkbootstrap-icons

This package was published as `ttkbootstrap-icons` through 4.0.0. Installing that name still works — it is now a forwarding shim — and [the migration notes](https://tkinter-icons.readthedocs.io/en/latest/getting-started/migrating.html) cover what genuinely changed.

## License

MIT for the library. Each pack redistributes an upstream icon font under that project's own license, shipped inside the pack; see [THIRD-PARTY-NOTICES.md](https://github.com/israel-dryer/tkinter-icons/blob/main/THIRD-PARTY-NOTICES.md).
