python wrapper for simple-icons

Overview

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")
Comments
  • Make svglib/reportlab/pillow extra dependencies?

    Make svglib/reportlab/pillow extra dependencies?

    Just discovered this nice tool! If I see that correctly svglib, reportlab and pillow are only used when converting to bitmaps, right? As these are pretty heavy dependencies (I know because I'm the original author of svglib ;) one might consider declaring them "extra" dependencies for pip. But I'm not familiar with poetry to know if it supports that.

    opened by deeplook 3
  • get_xml(), get_xml_bytes() and get_str() not working

    get_xml(), get_xml_bytes() and get_str() not working

    It seems like the three functions get_xml(), get_xml_bytes() and get_str() aren't working.

    Minimal reproducible example:

    from simpleicons.icon_xml import get_xml
    
    github_icon = get_xml("github")
    

    Throwing this error:

    Traceback (most recent call last):
      File "/home/fbernhart/.config/JetBrains/PyCharmCE2021.1/scratches/scratch_4.py", line 3, in <module>
        github_icon = get_xml("github")
      File "/mnt/Daten/Python/Python_Divers/venv/lib/python3.9/site-packages/simpleicons/icon_xml.py", line 41, in get_xml
        tree = get_et(icon_name)
      File "/mnt/Daten/Python/Python_Divers/venv/lib/python3.9/site-packages/simpleicons/icon_xml.py", line 28, in get_et
        return ET.parse(f"simpleicons/icons/{icon_name.lower()}.svg")
      File "/usr/local/lib/python3.9/xml/etree/ElementTree.py", line 1229, in parse
        tree.parse(source, parser)
      File "/usr/local/lib/python3.9/xml/etree/ElementTree.py", line 569, in parse
        source = open(source, "rb")
    FileNotFoundError: [Errno 2] No such file or directory: 'simpleicons/icons/github.svg'
    
    Process finished with exit code 1
    

    The same happens for

    from simpleicons.icon_xml import get_xml_bytes
    
    github_bytes = get_xml_bytes("github")
    

    and

    from simpleicons.icon_xml import get_str
    
    github_str = get_str("github")
    

    Looking at the icon_xml.py file, the error happens because you're trying to access simpleicons/icons/github.svg. This might be working if you're testing your code locally and have your tests in the same directory, but it doesn't work while installing simpleicons as a package through pip. Because simpleicons/icons/github.svg isn't located inside the current working directory (from where the script is called).

    I'm not very familiar with opening a file from within a package, but I gave it a few tries and came up with this solution. It should work by replacing

    return ET.parse(f"simpleicons/icons/{icon_name.lower()}.svg")
    

    with

        import sys
        package_path = sys.modules[__package__].__path__[0]
    
        return ET.parse(f"{package_path}/icons/{icon_name.lower()}.svg")
    

    the same for the get_str() function.

    But let me know if you've got a better idea. 😊

    opened by fbernhart 2
  • chore(deps): bump gitpython from 3.1.18 to 3.1.19

    chore(deps): bump gitpython from 3.1.18 to 3.1.19

    Bumps gitpython from 3.1.18 to 3.1.19.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Configure Renovate

    Configure Renovate

    WhiteSource Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • .github/workflows/auto-update.yml (github-actions)
    • .github/workflows/ci.yml (github-actions)
    • pyproject.toml (poetry)

    Configuration Summary

    Based on the default config's presets, Renovate will:

    • Start dependency updates only once this onboarding PR is merged
    • Separate major versions of dependencies into individual branches/PRs
    • Do not separate patch and minor upgrades into separate PRs for the same dependency
    • Upgrade to unstable versions only if the existing version is unstable
    • Raise PRs immediately (after branch is created)
    • If semantic commits detected, use semantic commit type fix for dependencies and chore for all others
    • Keep existing branches updated even when not scheduled
    • Disable automerging feature - wait for humans to merge all PRs
    • Ignore node_modules, bower_components, vendor and various test/tests directories
    • Autodetect whether to pin dependencies or maintain ranges
    • Rate limit PR creation to a maximum of two per hour
    • Limit to maximum 20 open PRs at any time
    • Group known monorepo packages together
    • Use curated list of recommended non-monorepo package groupings
    • Ignore spring cloud 1.x releases
    • Ignore http4s digest-based 1.x milestones
    • Use node versioning for @types/node
    • Limit concurrent requests to reduce load on Repology servers until we can fix this properly, see issue 10133

    🔡 Would you like to change the way Renovate is upgrading your dependencies? Simply edit the renovate.json in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.


    What to Expect

    It looks like your repository dependencies are already up-to-date and no Pull Requests will be necessary right away.


    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 1
  • chore(deps-dev): bump black from 21.6b0 to 21.7b0

    chore(deps-dev): bump black from 21.6b0 to 21.7b0

    Bumps black from 21.6b0 to 21.7b0.

    Release notes

    Sourced from black's releases.

    21.7b0

    Black

    • Configuration files using TOML features higher than spec v0.5.0 are now supported (#2301)
    • Add primer support and test for code piped into black via STDIN (#2315)
    • Fix internal error when FORCE_OPTIONAL_PARENTHESES feature is enabled (#2332)
    • Accept empty stdin (#2346)
    • Provide a more useful error when parsing fails during AST safety checks (#2304)

    Docker

    • Add new latest_release tag automation to follow latest black release on docker images (#2374)

    Integrations

    • The vim plugin now searches upwards from the directory containing the current buffer instead of the current working directory for pyproject.toml. (#1871)
    • The vim plugin now reads the correct string normalization option in pyproject.toml (#1869)
    • The vim plugin no longer crashes Black when there's boolean values in pyproject.toml (#1869)
    Changelog

    Sourced from black's changelog.

    21.7b0

    Black

    • Configuration files using TOML features higher than spec v0.5.0 are now supported (#2301)
    • Add primer support and test for code piped into black via STDIN (#2315)
    • Fix internal error when FORCE_OPTIONAL_PARENTHESES feature is enabled (#2332)
    • Accept empty stdin (#2346)
    • Provide a more useful error when parsing fails during AST safety checks (#2304)

    Docker

    • Add new latest_release tag automation to follow latest black release on docker images (#2374)

    Integrations

    • The vim plugin now searches upwards from the directory containing the current buffer instead of the current working directory for pyproject.toml. (#1871)
    • The vim plugin now reads the correct string normalization option in pyproject.toml (#1869)
    • The vim plugin no longer crashes Black when there's boolean values in pyproject.toml (#1869)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump pillow from 8.2.0 to 8.3.1

    chore(deps): bump pillow from 8.2.0 to 8.3.1

    Bumps pillow from 8.2.0 to 8.3.1.

    Release notes

    Sourced from pillow's releases.

    8.3.1

    https://pillow.readthedocs.io/en/stable/releasenotes/8.3.1.html

    Changes

    8.3.0

    https://pillow.readthedocs.io/en/stable/releasenotes/8.3.0.html

    Changes

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    8.3.1 (2021-07-06)

    • Catch OSError when checking if fp is sys.stdout #5585 [radarhere]

    • Handle removing orientation from alternate types of EXIF data #5584 [radarhere]

    • Make Image.array take optional dtype argument #5572 [t-vi, radarhere]

    8.3.0 (2021-07-01)

    • Use snprintf instead of sprintf. CVE-2021-34552 #5567 [radarhere]

    • Limit TIFF strip size when saving with LibTIFF #5514 [kmilos]

    • Allow ICNS save on all operating systems #4526 [baletu, radarhere, newpanjing, hugovk]

    • De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables #4989 [gofr, radarhere]

    • Replaced xml.etree.ElementTree #5565 [radarhere]

    • Moved CVE image to pillow-depends #5561 [radarhere]

    • Added tag data for IFD groups #5554 [radarhere]

    • Improved ImagePalette #5552 [radarhere]

    • Add DDS saving #5402 [radarhere]

    • Improved getxmp() #5455 [radarhere]

    • Convert to float for comparison with float in IFDRational eq #5412 [radarhere]

    • Allow getexif() to access TIFF tag_v2 data #5416 [radarhere]

    ... (truncated)

    Commits
    • 92933b8 8.3.1 version bump
    • 31bd320 Added release notes for 8.3.1
    • afca674 Update CHANGES.rst [ci skip]
    • c712d68 Catch OSError when checking if fp is sys.stdout
    • 9b4fff8 Handle removing orientation from alternate types of EXIF data
    • 76037e5 Use numpy.array with dtype
    • 2ebb695 Use numpy.float64 instead of numpy.float to avoid deprecation (thank you rada...
    • 7e8cefa Make Image.array take optional dtype argument
    • 51591a8 8.3.0 version bump
    • 8041c04 Update CHANGES.rst [ci skip]
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump pillow from 8.2.0 to 8.3.0

    chore(deps): bump pillow from 8.2.0 to 8.3.0

    Bumps pillow from 8.2.0 to 8.3.0.

    Release notes

    Sourced from pillow's releases.

    8.3.0

    https://pillow.readthedocs.io/en/stable/releasenotes/8.3.0.html

    Changes

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    8.3.0 (2021-07-01)

    • Use snprintf instead of sprintf. CVE-2021-34552 #5567 [radarhere]

    • Limit TIFF strip size when saving with LibTIFF #5514 [kmilos]

    • Allow ICNS save on all operating systems #4526 [baletu, radarhere, newpanjing, hugovk]

    • De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables #4989 [gofr, radarhere]

    • Replaced xml.etree.ElementTree #5565 [radarhere]

    • Moved CVE image to pillow-depends #5561 [radarhere]

    • Added tag data for IFD groups #5554 [radarhere]

    • Improved ImagePalette #5552 [radarhere]

    • Add DDS saving #5402 [radarhere]

    • Improved getxmp() #5455 [radarhere]

    • Convert to float for comparison with float in IFDRational eq #5412 [radarhere]

    • Allow getexif() to access TIFF tag_v2 data #5416 [radarhere]

    • Read FITS image mode and size #5405 [radarhere]

    • Merge parallel horizontal edges in ImagingDrawPolygon #5347 [radarhere, hrdrq]

    • Use transparency behind first GIF frame and when disposing to background #5557 [radarhere, zewt]

    • Avoid unstable nature of qsort in Quant.c #5367 [radarhere]

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Reading _data/simple_icons.json instead of putting icons in all.py

    Reading _data/simple_icons.json instead of putting icons in all.py

    Looking through your package I was wondering why all the icons data is stored inside the all.py file and at the same time the same information is available as .json, pulled from the original Simple Icons project.

    Wouldn't it be easier to just read the _data/simple_icons.json file and then extract the needed information from there? This would as well avoid having the same data saved twice, which seems quite redundant in my opinion.

    I'm looking forward to hear your opinion. :)

    opened by fbernhart 1
  • chore(deps): update dependency poethepoet to ^0.17.0

    chore(deps): update dependency poethepoet to ^0.17.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | poethepoet | ^0.16.0 -> ^0.17.0 | age | adoption | passing | confidence |


    Release Notes

    nat-n/poethepoet

    v0.17.1

    Compare Source

    Fixes

    • Fix handling of Keyboardinterrupt when running a task on windows #​42

    Full Changelog: https://github.com/nat-n/poethepoet/compare/v0.17.0...v0.17.1

    v0.17.0

    Compare Source

    Enhancements

    • Support for interpolating env vars into task arg default values (#​3c994684)
    • Support providing a cwd for tasks included from another file #​110
    • Add new switch task type for running different versions of a task depending on the result of a control task #​83

    Fixes

    • Set PYTHONIOENCODING to utf-8 before invoking poetry env info -p #​112

    New Contributors

    Full Changelog: https://github.com/nat-n/poethepoet/compare/v0.16.5...v0.17.0

    v0.16.5

    Compare Source

    Fixes

    New Contributors

    Full Changelog: https://github.com/nat-n/poethepoet/compare/v0.16.4...v0.16.5

    v0.16.4

    Compare Source

    Fixes

    Full Changelog: https://github.com/nat-n/poethepoet/compare/v0.16.3...v0.16.4

    v0.16.3

    Compare Source

    Fixes

    New Contributors

    Full Changelog: https://github.com/nat-n/poethepoet/compare/v0.16.2...v0.16.3

    v0.16.2

    Compare Source

    Fixes

    • Revert all changes in v0.16.1 to address bug reported in #​88

    Full Changelog: https://github.com/nat-n/poethepoet/compare/v.0.16.1...v0.16.2

    v0.16.1

    Compare Source

    Enhancements

    • When poetry virtualenv creation is disabled via an environment variable and no poetry virtualenv exists then don't try to execute tasks with poetry run #​65

    Fixes

    • Fixed issue when running poe from inside a poetry env with the --root global option targeting another project, the target project env was not always used.

    Full Changelog: https://github.com/nat-n/poethepoet/compare/v0.16.0...v0.16.1


    Configuration

    📅 Schedule: Branch creation - "before 3am on Monday" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update snok/install-poetry action to v1.3.3

    chore(deps): update snok/install-poetry action to v1.3.3

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | snok/install-poetry | action | patch | v1.3.2 -> v1.3.3 |


    Release Notes

    snok/install-poetry

    v1.3.3

    Compare Source

    What's Changed

    Version v1.3.2 broke installations on Windows for Python version 3.7 and 3.8, because of an upstream issue in the official Poetry installer. This version reverts to using an older install script on Windows runners, until the issue is resolved.

    Full Changelog: https://github.com/snok/install-poetry/compare/v1...v1.3.3


    Configuration

    📅 Schedule: Branch creation - "before 3am on Monday" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update snok/install-poetry action to v1.3.2

    chore(deps): update snok/install-poetry action to v1.3.2

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | snok/install-poetry | action | patch | v1.3.1 -> v1.3.2 |


    Release Notes

    snok/install-poetry

    v1.3.2

    Compare Source

    What's Changed

    There should be no changes to functionality in this release.

    New Contributors

    Full Changelog: https://github.com/snok/install-poetry/compare/v1...v1.3.2


    Configuration

    📅 Schedule: Branch creation - "before 3am on Monday" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    This repository currently has no open or pending branches.

    Detected dependencies

    github-actions
    .github/workflows/auto-update.yml
    • actions/checkout v3
    • oleksiyrudenko/gha-git-credentials v2-latest
    • actions/setup-python v4
    • snok/install-poetry v1.3.3
    • actions/cache v3
    .github/workflows/ci.yml
    • actions/checkout v3
    • actions/setup-python v4
    • snok/install-poetry v1.3.3
    • actions/cache v3
    poetry
    pyproject.toml
    • reportlab ^3.6.3
    • Pillow ^9.2.0
    • svglib ^1.1.0
    • semantic-version ^2.8.5
    • requests ^2.26.0
    • GitPython ^3.1.24
    • pytest ^7.0.0
    • poethepoet ^0.17.0
    • pre-commit ^2.15.0
    • Pillow ^9.2.0
    • svglib ^1.1.0
    • reportlab ^3.5.68

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
Releases(7.21.0)
Owner
Sachin Raja
React, TypeScript enjoyer. Interested in speed ⚡
Sachin Raja
Read write method - Read files in various types of formats

一个关于所有格式文件读取的方法 1。 问题描述: 各种各样的文件格式,读写操作非常的麻烦,能够有一种方法,可以整合所有格式的文件,方便用户进行读取和写入。 2

2 Jan 26, 2022
VSCode extension that generates docstrings for python files

VSCode Python Docstring Generator Visual Studio Code extension to quickly generate docstrings for python functions. Features Quickly generate a docstr

Nils Werner 506 Jan 03, 2023
A clean customizable documentation theme for Sphinx

A clean customizable documentation theme for Sphinx

Pradyun Gedam 1.5k Jan 06, 2023
Speed up Sphinx builds by selectively removing toctrees from some pages

Remove toctrees from Sphinx pages Improve your Sphinx build time by selectively removing TocTree objects from pages. This is useful if your documentat

Executable Books 8 Jan 04, 2023
EasyModerationKit is an open-source framework designed to moderate and filter inappropriate content.

EasyModerationKit is a public transparency statement. It declares any repositories and legalities used in the EasyModeration system. It allows for implementing EasyModeration into an advanced charact

Aarav 1 Jan 16, 2022
A swagger tool for tornado, using python to write api doc!

SwaggerDoc About A swagger tool for tornado, using python to write api doc! Installation pip install swagger-doc Quick Start code import tornado.ioloo

aaashuai 1 Jan 10, 2022
Poetry plugin to export the dependencies to various formats

Poetry export plugin This package is a plugin that allows the export of locked packages to various formats. Note: For now, only the requirements.txt f

Poetry 90 Jan 05, 2023
Żmija is a simple universal code generation tool.

Żmija Żmija is a simple universal code generation tool. It is intended to be used as a means to generate code that is both efficient and easily mainta

Adrian Samoticha 2 Nov 23, 2021
Version bêta d'un système pour suivre les prix des livres chez Books to Scrape,

Version bêta d'un système pour suivre les prix des livres chez Books to Scrape, un revendeur de livres en ligne. En pratique, dans cette version bêta, le programme n'effectuera pas une véritable surv

Mouhamed Dia 1 Jan 06, 2022
epub2sphinx is a tool to convert epub files to ReST for Sphinx

epub2sphinx epub2sphinx is a tool to convert epub files to ReST for Sphinx. It uses Pandoc for converting HTML data inside epub files into ReST. It cr

Nihaal 8 Dec 15, 2022
[Unofficial] Python PEP in EPUB format

PEPs in EPUB format This is a unofficial repository where I stock all valid PEPs in the EPUB format. Repository Cloning git clone --recursive Mickaël Schoentgen 9 Oct 12, 2022

Materi workshop "Light up your Python!" Himpunan Mahasiswa Sistem Informasi Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang, 4 September 2021 (Online via Zoom).

Workshop Python UNSIKA 2021 Materi workshop "Light up your Python!" Himpunan Mahasiswa Sistem Informasi Fakultas Ilmu Komputer Universitas Singaperban

Eka Putra 20 Mar 24, 2022
This is a repository for "100 days of code challenge" projects. You can reach all projects from beginner to professional which are written in Python.

100 Days of Code It's a challenge that aims to gain code practice and enhance programming knowledge. Day #1 Create a Band Name Generator It's actually

SelenNB 2 May 12, 2022
NetBox plugin for BGP related objects documentation

Netbox BGP Plugin Netbox plugin for BGP related objects documentation. Compatibility This plugin in compatible with NetBox 2.10 and later. Installatio

Nikolay Yuzefovich 133 Dec 27, 2022
YAML metadata extension for Python-Markdown

YAML metadata extension for Python-Markdown This extension adds YAML meta data handling to markdown with all YAML features. As in the original, metada

Nikita Sivakov 14 Dec 30, 2022
FxBuzzly - Buzzly.art links do not embed in Discord, this fixes them (rudimentarily)

fxBuzzly Buzzly.art links do not embed in Discord, this fixes them (rudimentaril

Dania Rifki 2 Oct 27, 2022
Members: Thomas Longuevergne Program: Network Security Course: 1DV501 Date of submission: 2021-11-02

Mini-project report Members: Thomas Longuevergne Program: Network Security Course: 1DV501 Date of submission: 2021-11-02 Introduction This project was

1 Nov 08, 2021
💻An open-source eBook with 101 Linux commands that everyone should know

This is an open-source eBook with 101 Linux commands that everyone should know. No matter if you are a DevOps/SysOps engineer, developer, or just a Linux enthusiast, you will most likely have to use

Ashfaque Ahmed 0 Oct 29, 2022
Generating a report CSV and send it to an email - Python / Django Rest Framework

Generating a report in CSV format and sending it to a email How to start project. Create a folder in your machine Create a virtual environment python3

alexandre Lopes 1 Jan 17, 2022
Show Rubygems description and annotate your code right from Sublime Text.

Gem Description for Sublime Text Show Rubygems description and annotate your code. Just mouse over your Gemfile's gem definitions to show the popup. s

Nando Vieira 2 Dec 19, 2022