A Python wrapper for the Tabler Icons library with 5237 high-quality icons
Project description
pytablericons
Python wrapper for the Tabler Icons library - a set of 5237 free MIT-licensed high-quality SVG icons for you to use in your python projects
Features
- 5237 free MIT-licensed high-quality SVG icons
- Load icons into Pillow Image with custom size, color, and stroke width
- Supports IDE autocompletion
- Works cross-platform without any extra dependencies
- Easy to use with
Pillow
,PyQt5
,PyQt6
,PySide2
,PySide6
,Tkinter
, etc.
Installation
pip install pytablericons
Usage
Import TablerIcons
and call the static load()
method with the desired OutlineIcon
or FilledIcon
:
from pytablericons import TablerIcons, OutlineIcon, FilledIcon
icon_rotate = TablerIcons.load(OutlineIcon.ROTATE) # Outline icon
icon_check = TablerIcons.load(FilledIcon.CIRCLE_CHECK) # Filled icon
NOTE:
The icon names are the same as on the tabler-icons.io site, except every letter is uppercase and hyphens are replaced with underscores.
Examples:rotate
→ROTATE
,arrow-down-right
→ARROW_DOWN_RIGHT
Customization
Setting a custom size, color, and stroke width:
# Width and height 100px (default: 24)
icon_custom_size = TablerIcons.load(OutlineIcon.ROTATE, size=100)
# Color red (default: '#FFF')
icon_custom_color = TablerIcons.load(OutlineIcon.ROTATE, color='#ff0000')
# Stroke width 1.5 (default: 2.0)
icon_custom_stroke_width = TablerIcons.load(OutlineIcon.ROTATE, stroke_width=1.5)
# Combining everything
icon_custom = TablerIcons.load(OutlineIcon.ROTATE, size=100, color='#ff0000', stroke_width=1.5)
NOTE:
The color can either be a hex color or one of very limited color names.
Examples:'#ec3440'
,'#581790'
,'red'
,'green'
,'blue'
Examples
- Using an icon with Pillow:
from pytablericons import TablerIcons, FilledIcon
icon = TablerIcons.load(FilledIcon.CIRCLE_CHECK) # Load icon
icon.show() # Show icon
print(icon.size) # Print icon size
- Using an icon with PyQt6:
from PyQt6.QtGui import QIcon
from PyQt6.QtWidgets import QMainWindow, QPushButton
from pytablericons import TablerIcons, OutlineIcon
class Window(QMainWindow):
def __init__(self):
super().__init__(parent=None)
# Load icon
icon_rotate = TablerIcons.load(OutlineIcon.ROTATE, color='#000')
# Create button with icon
self.button = QPushButton(self)
self.button.setText('Rotate')
self.button.setIcon(QIcon(icon_rotate.toqpixmap()))
- Using an icon with Tkinter:
from PIL import ImageTk
from tkinter import Tk, Button
from tkinter.constants import *
from pytablericons import TablerIcons, OutlineIcon
# Create window
root = Tk()
# Load icon and convert to ImageTk
icon_rotate = TablerIcons.load(OutlineIcon.ROTATE, size=16, color='#000', stroke_width=3.0)
icon_rotate_tk_image = ImageTk.PhotoImage(icon_rotate)
# Create button with icon
button = Button(root, text='Rotate', image=icon_rotate_tk_image, compound=LEFT)
button.pack(padx=50, pady=25)
# Run event loop
root.mainloop()
More in-depth examples can be found in the examples folder.
Preview
Outline version (4577 icons)
Filled version (660 icons)
Tests
Installing the required test dependencies pytest and coveragepy:
pip install pytest coverage
To run the tests with coverage, clone this repository, go into the main directory and run:
coverage run -m pytest
coverage report --ignore-errors -m
License
This software is licensed under the MIT license.
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file pytablericons-1.0.1.tar.gz
.
File metadata
- Download URL: pytablericons-1.0.1.tar.gz
- Upload date:
- Size: 612.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad464c0e9227dd2b9d62aea3f89920af8cdbddcdd353a862f2b97f4783fe7842 |
|
MD5 | 6ee72170a6ae87131392961880db2c70 |
|
BLAKE2b-256 | f96957f53db042e2b6d146836b3c1025cd8d3dffa471a7a401b2b5cba20940fd |
File details
Details for the file pytablericons-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: pytablericons-1.0.1-py3-none-any.whl
- Upload date:
- Size: 2.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c9bac8a016daa912273f22911d5d7039bafbb2de0a78a7152944a3aaaaa7b29 |
|
MD5 | 84c645a596dd8e581b4b886733a5a563 |
|
BLAKE2b-256 | edbbf60a5f984bafea9cf3e424a8da53214d4750cf77d908da68a54409dbd438 |