Skip to main content

A Python wrapper for the Tabler Icons library with 5237 high-quality icons

Project description

pytablericons

PyPI Python Build Coverage License

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

Browse at tabler-icons.io →

pytablericons

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: rotateROTATE, arrow-down-rightARROW_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)

Tabler Icons preview

Filled version (660 icons)

Tabler Icons preview

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytablericons-1.0.1.tar.gz (612.9 kB view details)

Uploaded Source

Built Distribution

pytablericons-1.0.1-py3-none-any.whl (2.7 MB view details)

Uploaded Python 3

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

Hashes for pytablericons-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ad464c0e9227dd2b9d62aea3f89920af8cdbddcdd353a862f2b97f4783fe7842
MD5 6ee72170a6ae87131392961880db2c70
BLAKE2b-256 f96957f53db042e2b6d146836b3c1025cd8d3dffa471a7a401b2b5cba20940fd

See more details on using hashes here.

File details

Details for the file pytablericons-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pytablericons-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c9bac8a016daa912273f22911d5d7039bafbb2de0a78a7152944a3aaaaa7b29
MD5 84c645a596dd8e581b4b886733a5a563
BLAKE2b-256 edbbf60a5f984bafea9cf3e424a8da53214d4750cf77d908da68a54409dbd438

See more details on using hashes here.

Supported by

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