Skip to main content

Use a wide-range of icons derived from the simple-icons/simple-icons repo in python.

Project description

Logo simpleicons

Code style: black

Use a wide-range of icons derived from the simple-icons repo in python. Go to their website for a full list of icons. The slug version must be used for the icon_name. The icons folder that accompanies the package has all the files. The package uses the latest verison of Simple Icons. It does not depend on the filesystem.

Installation

Install with pip install simpleicons. Keep in mind that this is a fairly large package due to all the icons.

Usage

General Usage

The API can then be used as follows, where [ICON SLUG] is replaced by a slug:

from simpleicons.all import icons

# Get a specific icon by its slug as:
icons.get('[ICON SLUG]')

# For example:
icon = icons.get('simpleicons')

print(icon.__dict__)

"""
{
    'title': 'Simple Icons',
    'slug': 'simpleicons',
    'hex': '111111',
    'source': 'https://simpleicons.org/',
    'svg': '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">...</svg>',
    'path': 'M12 12v-1.5c-2.484 ...',
    'guidelines': 'https://simpleicons.org/styleguide',
    'license': {
        type: '...',
        url: 'https://example.com/'
    }
}
"""

NOTE: The guidelines entry will be None if we do not yet have guidelines data for the icon.

NOTE: The license entry will be None if we do not yet have license data for the icon.

Alternatively you can import the needed icons individually, where [ICON SLUG] is replaced by a slug:

# Import a specific icon by its slug as:
from simpleicons.icons import si_[ICON_SLUG]

# For example:
from simpleicons.icons import si_simpleicons

Lastly, the icons object is also enumerable. This is useful if you want to do a computation on every icon:

from simpleicons.all import icons

for (key, icon in icons) {
    # do stuff
}

XML

The XML for each icon can be easily manipulated with either of two functions:

Icon.get_xml(**attrs) -> ElementTree

from simpleicons.icons import si_simpleicons

# blue logo, adds the fill attribute: <svg fill="blue"></svg>
si_simpleicons.get_xml(fill="blue")

Icon.get_xml_bytes(**attrs) -> bytes

from simpleicons.icons import si_simpleicons

si_simpleicons.get_xml_bytes(fill="blue")

Image

In order to use this, you must install the extras: pip install -e simpleicons[imaging] . Icons can be converted to PIL Images with icon_to_image(icon_xml: bytes, bg: int=0xffffff, scale: Tuple[int, int]=(1, 1)) -> Image:

from simpleicons.icons import si_simpleicons
from simpleicons.image import icon_to_image

xml_bytes = si_simpleicons.get_xml_bytes(fill="blue")

# black background and 5x scale
img = icon_to_image(xml_bytes, bg=0x000000, scale=(5, 5))

# manipulate PIL Image
img.putalpha(32)
img.save("simpleicons_blue.png")

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

simpleicons-7.16.0.tar.gz (3.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simpleicons-7.16.0-py3-none-any.whl (3.5 MB view details)

Uploaded Python 3

File details

Details for the file simpleicons-7.16.0.tar.gz.

File metadata

  • Download URL: simpleicons-7.16.0.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.7 Linux/5.15.0-1020-azure

File hashes

Hashes for simpleicons-7.16.0.tar.gz
Algorithm Hash digest
SHA256 dd4d72572cf436ccbe2a62e9b458e6775ac6f4b44c57fd1b20f75783f410645d
MD5 2931773f6b157caa7161f79e08fecbfa
BLAKE2b-256 607d63da48fca17d170b7995da9057e21b9bea9a5e324e9c442a9f283b3be9cb

See more details on using hashes here.

File details

Details for the file simpleicons-7.16.0-py3-none-any.whl.

File metadata

  • Download URL: simpleicons-7.16.0-py3-none-any.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.7 Linux/5.15.0-1020-azure

File hashes

Hashes for simpleicons-7.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 691a70a57e8ec6c80e5331f5116807f0e70a5d69c6cad0bd0267b31c295d0afb
MD5 bfeeb931feb6d17dbe7f6f0eae498bc8
BLAKE2b-256 3e62bc77091a95b7f9fddefd51000ef5d375c385f83b8ef90e7ddec948337a9f

See more details on using hashes here.

Supported by

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