hspylib-hqt


Namehspylib-hqt JSON
Version 0.9.37 PyPI version JSON
download
home_pagehttps://github.com/yorevs/hspylib
SummaryHsPyLib - QT framework extensions
upload_time2023-12-01 16:15:42
maintainer
docs_urlNone
authorHugo Saporetti Junior
requires_python>=3.10
licenseMIT
keywords qt ui extensions application pyqt
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # <img src="https://iili.io/HYBJFA7.png"  width="34" height="34"> HomeSetup Python Library - HsPyLib

## Your Python code is not JUST a script !!

[![PyPi](https://badgen.net/badge/icon/python?icon=pypi&label)](https://pypi.org/project/hspylib)
[![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
[![Donate](https://badgen.net/badge/paypal/donate/yellow)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)
[![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
[![Release](https://badgen.net/badge/release/v0.9.37/gray)](docs/CHANGELOG.md#unreleased)
[![build-and-test](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml)

HsPyLib is a Python library that will elevate your experience to another level. It relies on well known principles as
SOLID, DRY (Don't Repeat Yourself), KISS (Keep It Simple, Stupid) and YAGNI (You Ain’t Gonna Need It). It provides many
frameworks and facilities to help you create mature python3 applications "PYCSNBASS" (Python Code Should Not Be A Simple
Script).

HsPyLib is a part of the [HomeSetup](https://github.com/yorevs/homesetup) project.

## Highlights

- Easy installation.
- Application manager that provides a helper to scaffold your python applications.
- Widgets manager that provides running 'built-in' and custom python widgets.
- Enhanced TUI helpers and input methods, to elevate your UXP with terminal applications.
- crud framework to help with databases, repositories and services.
- HTTP request helpers.
- Enable Properties and AppConfigs using the most common extensions such as .properties, toml, yml...
- Well tested code and often pylint clean.
- Gradle build system with many extensions.
- Various demos to help understand the library.

- [A Kafka manager](modules/kafman/src/main/README.md) application tool.
- [A Cloud Foundry](modules/cfman/src/main/README.md) application tool.
- [A Firebase](modules/firebase/src/main/README.md) application tool.
- [A Vault provider](modules/vault/src/main/README.md) tool.
- [A CLI Terminal](modules/clitt/src/main/README.md) framework.
- [A PyQt](modules/hqt/src/main/README.md) applications framework.

Create an easy to use and code multiple select or choose input method:

```python
from hspylib.modules.cli.vt100.vt_color import VtColor

from clitt.core.icons.font_awesome.nav_icons import NavIcons
from clitt.core.tui.mselect.mselect import mselect
from clitt.core.tui.tui_preferences import TUIPreferences


class SelectableItem:
    def __init__(self, name: str, value: str):
        self.name = name
        self.value = value

    def __str__(self):
        return f"Name: {self.name} Value: {self.value}"

    def __repr__(self):
        return str(self)


if __name__ == "__main__":
    TUIPreferences(
        max_rows=10,
        highlight_color=VtColor.WHITE,
        selected=NavIcons.SELECTED,
        unselected=NavIcons.UNSELECTED,
    )
    quantity = 22
    digits = len(str(quantity))
    it = [SelectableItem(f"Item-{n:>0{digits}}", f"Value-{n:>0{digits}}") for n in range(1, quantity)]
    sel = mselect(it)
    print(str(sel))
```

![MenuSelect](https://iili.io/HYBFh74.png "MenuSelect")

```python
from hspylib.modules.cli.vt100.vt_color import VtColor

from clitt.core.tui.mchoose.mchoose import mchoose
from clitt.core.tui.tui_preferences import TUIPreferences


class ChooseableItem:
    def __init__(self, name: str, value: str):
        self.name = name
        self.value = value

    def __str__(self):
        return f"Name: {self.name} Value: {self.value}"

    def __repr__(self):
        return str(self)


if __name__ == "__main__":
    TUIPreferences(
        max_rows=10, highlight_color=VtColor.WHITE
    )
    quantity = 22
    digits = len(str(quantity))
    it = [ChooseableItem(f"Item-{n:>0{digits}}", f"Value-{n:>0{digits}}") for n in range(1, quantity)]
    sel = mchoose(it)
    print(str(sel))
```

![MenuChoose](https://iili.io/HYBFwp2.png "MenuChoose")

Create beautiful form inputs:

```python
from clitt.core.tui.minput.input_validator import InputValidator
from clitt.core.tui.minput.minput import MenuInput, minput

if __name__ == "__main__":
    # fmt: off
    form_fields = MenuInput.builder() \
        .field() \
            .label('letters') \
            .validator(InputValidator.letters()) \
            .build() \
        .field() \
            .label('word') \
            .validator(InputValidator.words()) \
            .build() \
        .field() \
            .label('number') \
            .validator(InputValidator.numbers()) \
            .min_max_length(1, 4) \
            .build() \
        .field() \
            .label('masked') \
            .itype('masked') \
            .value('|##::##::## @@') \
            .build() \
        .field() \
            .label('selectable') \
            .itype('select') \
            .value('one|two|three') \
            .build() \
        .field() \
            .label('checkbox') \
            .itype('checkbox') \
            .build() \
        .field() \
            .label('password') \
            .itype('password') \
            .validator(InputValidator.anything()) \
            .min_max_length(4, 8) \
            .build() \
        .field() \
            .label('read-only') \
            .access_type('read-only') \
            .value('READ-ONLY') \
            .build() \
        .build()
    # fmt: on

    result = minput(form_fields)
    print(result.__dict__ if result else "None")
```

![MenuInput](https://iili.io/HYBFVrG.png "MenuInput")

Or even create nice dashboards:

```python
from hspylib.modules.cli.vt100.vt_color import VtColor

from clitt.core.icons.font_awesome.dashboard_icons import DashboardIcons
from clitt.core.tui.mdashboard.mdashboard import mdashboard, MenuDashBoard
from clitt.core.tui.tui_preferences import TUIPreferences

if __name__ == "__main__":
    TUIPreferences(
        max_rows=10,
        items_per_line=3,
        highlight_color=VtColor.WHITE
    )
    # fmt: off
    dashboard_items = MenuDashBoard.builder() \
        .item() \
            .icon(DashboardIcons.POWER) \
            .tooltip('Do something') \
            .on_trigger(lambda: print('Something')) \
            .build() \
        .item() \
            .icon(DashboardIcons.MOVIE) \
            .tooltip('Another something') \
            .on_trigger(lambda: print('Another')) \
            .build() \
        .item() \
            .icon(DashboardIcons.NOTIFICATION) \
            .tooltip('Notify something') \
            .on_trigger(lambda: print('Notification')) \
            .build() \
        .item() \
            .icon(DashboardIcons.LIST) \
            .tooltip('List everything') \
            .on_trigger(lambda: print('List')) \
            .build() \
        .item() \
            .icon(DashboardIcons.DATABASE) \
            .tooltip('Database console') \
            .on_trigger(lambda: print('Database')) \
            .build() \
        .item() \
            .icon(DashboardIcons.EXIT) \
            .tooltip('Exit application') \
            .on_trigger(lambda: print('Exit')) \
            .build() \
        .build()
    # fmt: on

    result = mdashboard(dashboard_items)
```

![MenuDashboard](https://iili.io/HYBFX2f.png "MenuDashboard")

## Table of contents

<!-- toc -->

- [1. Installation](#installation)
  * [1.1. Requirements](#requirements)
    + [1.1.1. Operating systems](#operating-systems)
    + [1.1.2. Required software](#required-software)
  * [1.2. PyPi](#pypi)
  * [1.3. GitHub](#github)
- [2. Documentation](#documentation)
- [3. Contact](#contact)
- [4. Support HsPyLib](#support-hspylib)
- [5. Links](#links)

<!-- tocstop -->

## Installation

### Requirements

#### Python

- Python 3.10 and higher

#### Operating Systems

- Darwin
  + High Sierra and higher
- Linux
  + Ubuntu 16 and higher
  + CentOS 7 and higher
  + Fedora 31 and higher

You may want to install HsPyLib on other OS's and it will probably work, but there are no guarantees that it
**WILL ACTUALLY WORK**.

#### Required software

The following software are required:

- Git (To clone the github repository)
- Gradle (To build the HsPyLib project)

There are some python dependencies, but they will be automatically downloaded when the build runs.

### PyPi

To install HsPyLib from PyPi issue the command:

`# python3 -m pip install hspylib`

To upgrade HsPyLib use the command:

`# python3 -m pip install hspylib --upgrade`

Additional modules that can also be installed:

- [CLItt](https://pypi.org/project/hspylib-clitt) : `# python3 -m pip install hspylib-clitt` to install HsPyLib CLI terminal tools.
- [Firebase](https://pypi.org/project/hspylib-firebase) : `# python3 -m pip install hspylib-firebase` to install HsPyLib Firebase application.
- [Vault](https://pypi.org/project/hspylib-vault) : `# python3 -m pip install hspylib-vault` to install HsPyLib Vault application.
- [CFMan](https://pypi.org/project/hspylib-cfman) : `# python3 -m pip install hspylib-cfman` to install CloudFoundry manager.
- [Kafman](https://pypi.org/project/hspylib-kafman) : `# python3 -m pip install hspylib-kafman` to install Kafka manager.
- [Datasource](https://pypi.org/project/hspylib-datasource) : `# python3 -m pip install hspylib-datasource` to install datasource helpers.
- [HQT](https://pypi.org/project/hspylib-hqt) : `# python3 -m pip install hspylib-hqt` to install HsPyLib PyQt framework.

### GitHub

To clone HsPyLib into your local machine type the command:

`# git clone https://github.com/yorevs/hspylib.git`

## Documentation

The API documentation can be found [here](docs/api/index.html)

## Contact

You can contact us using our [Gitter](https://gitter.im/hspylib/community) community or using our
[Reddit](https://www.reddit.com/user/yorevs).

## Support HsPyLib

You can support HsPyLib
by [donating](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)
or coding. Fell free to contact me for details. When contributing with code change please take a look at our
[guidelines](docs/CONTRIBUTING.md) and [code of conduct](docs/CODE_OF_CONDUCT.md).

[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)

## Sponsors

This project is supported by:

<a href="https://www.jetbrains.com/community/opensource/?utm_campaign=opensource&utm_content=approved&utm_medium=email&utm_source=newsletter&utm_term=jblogo#support">
  <img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png" width="120" height="120">
</a>

[![DigitalOcean Referral Badge](https://web-platforms.sfo2.digitaloceanspaces.com/WWW/Badge%203.svg)](https://www.digitalocean.com/?refcode=a46eac913a06&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)

Thank you for your support <3 !!

## Links

- Documentation: [API](docs/api/index.html)
- License: [MIT](LICENSE.md)
- Releases: [HSPyLib-Releases](https://pypi.org/project/hspylib/#history)
- Code: [Github](https://github.com/yorevs/hspylib)
- Issue tracker: [HSPyLib-Issues](https://github.com/yorevs/hspylib/issues)
- Official chat: [HSPyLib](https://gitter.im/hspylib/community)
- Contact: [yorevs](https://www.reddit.com/user/yorevs)
- Mailto: [yorevs](mailto:yorevs@hotmail.com)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/yorevs/hspylib",
    "name": "hspylib-hqt",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "qt,ui,extensions,application,pyqt",
    "author": "Hugo Saporetti Junior",
    "author_email": "yorevs@hotmail.com",
    "download_url": "https://files.pythonhosted.org/packages/66/9c/a7bc76f6bca17af562e7ae757cb97ec62f6dddf71ebf8fb2b2a99ea10800/hspylib-hqt-0.9.37.tar.gz",
    "platform": "Darwin",
    "description": "# <img src=\"https://iili.io/HYBJFA7.png\"  width=\"34\" height=\"34\"> HomeSetup Python Library - HsPyLib\n\n## Your Python code is not JUST a script !!\n\n[![PyPi](https://badgen.net/badge/icon/python?icon=pypi&label)](https://pypi.org/project/hspylib)\n[![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)\n[![Donate](https://badgen.net/badge/paypal/donate/yellow)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)\n[![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)\n[![Release](https://badgen.net/badge/release/v0.9.37/gray)](docs/CHANGELOG.md#unreleased)\n[![build-and-test](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml)\n\nHsPyLib is a Python library that will elevate your experience to another level. It relies on well known principles as\nSOLID, DRY (Don't Repeat Yourself), KISS (Keep It Simple, Stupid) and YAGNI (You Ain\u2019t Gonna Need It). It provides many\nframeworks and facilities to help you create mature python3 applications \"PYCSNBASS\" (Python Code Should Not Be A Simple\nScript).\n\nHsPyLib is a part of the [HomeSetup](https://github.com/yorevs/homesetup) project.\n\n## Highlights\n\n- Easy installation.\n- Application manager that provides a helper to scaffold your python applications.\n- Widgets manager that provides running 'built-in' and custom python widgets.\n- Enhanced TUI helpers and input methods, to elevate your UXP with terminal applications.\n- crud framework to help with databases, repositories and services.\n- HTTP request helpers.\n- Enable Properties and AppConfigs using the most common extensions such as .properties, toml, yml...\n- Well tested code and often pylint clean.\n- Gradle build system with many extensions.\n- Various demos to help understand the library.\n\n- [A Kafka manager](modules/kafman/src/main/README.md) application tool.\n- [A Cloud Foundry](modules/cfman/src/main/README.md) application tool.\n- [A Firebase](modules/firebase/src/main/README.md) application tool.\n- [A Vault provider](modules/vault/src/main/README.md) tool.\n- [A CLI Terminal](modules/clitt/src/main/README.md) framework.\n- [A PyQt](modules/hqt/src/main/README.md) applications framework.\n\nCreate an easy to use and code multiple select or choose input method:\n\n```python\nfrom hspylib.modules.cli.vt100.vt_color import VtColor\n\nfrom clitt.core.icons.font_awesome.nav_icons import NavIcons\nfrom clitt.core.tui.mselect.mselect import mselect\nfrom clitt.core.tui.tui_preferences import TUIPreferences\n\n\nclass SelectableItem:\n    def __init__(self, name: str, value: str):\n        self.name = name\n        self.value = value\n\n    def __str__(self):\n        return f\"Name: {self.name} Value: {self.value}\"\n\n    def __repr__(self):\n        return str(self)\n\n\nif __name__ == \"__main__\":\n    TUIPreferences(\n        max_rows=10,\n        highlight_color=VtColor.WHITE,\n        selected=NavIcons.SELECTED,\n        unselected=NavIcons.UNSELECTED,\n    )\n    quantity = 22\n    digits = len(str(quantity))\n    it = [SelectableItem(f\"Item-{n:>0{digits}}\", f\"Value-{n:>0{digits}}\") for n in range(1, quantity)]\n    sel = mselect(it)\n    print(str(sel))\n```\n\n![MenuSelect](https://iili.io/HYBFh74.png \"MenuSelect\")\n\n```python\nfrom hspylib.modules.cli.vt100.vt_color import VtColor\n\nfrom clitt.core.tui.mchoose.mchoose import mchoose\nfrom clitt.core.tui.tui_preferences import TUIPreferences\n\n\nclass ChooseableItem:\n    def __init__(self, name: str, value: str):\n        self.name = name\n        self.value = value\n\n    def __str__(self):\n        return f\"Name: {self.name} Value: {self.value}\"\n\n    def __repr__(self):\n        return str(self)\n\n\nif __name__ == \"__main__\":\n    TUIPreferences(\n        max_rows=10, highlight_color=VtColor.WHITE\n    )\n    quantity = 22\n    digits = len(str(quantity))\n    it = [ChooseableItem(f\"Item-{n:>0{digits}}\", f\"Value-{n:>0{digits}}\") for n in range(1, quantity)]\n    sel = mchoose(it)\n    print(str(sel))\n```\n\n![MenuChoose](https://iili.io/HYBFwp2.png \"MenuChoose\")\n\nCreate beautiful form inputs:\n\n```python\nfrom clitt.core.tui.minput.input_validator import InputValidator\nfrom clitt.core.tui.minput.minput import MenuInput, minput\n\nif __name__ == \"__main__\":\n    # fmt: off\n    form_fields = MenuInput.builder() \\\n        .field() \\\n            .label('letters') \\\n            .validator(InputValidator.letters()) \\\n            .build() \\\n        .field() \\\n            .label('word') \\\n            .validator(InputValidator.words()) \\\n            .build() \\\n        .field() \\\n            .label('number') \\\n            .validator(InputValidator.numbers()) \\\n            .min_max_length(1, 4) \\\n            .build() \\\n        .field() \\\n            .label('masked') \\\n            .itype('masked') \\\n            .value('|##::##::## @@') \\\n            .build() \\\n        .field() \\\n            .label('selectable') \\\n            .itype('select') \\\n            .value('one|two|three') \\\n            .build() \\\n        .field() \\\n            .label('checkbox') \\\n            .itype('checkbox') \\\n            .build() \\\n        .field() \\\n            .label('password') \\\n            .itype('password') \\\n            .validator(InputValidator.anything()) \\\n            .min_max_length(4, 8) \\\n            .build() \\\n        .field() \\\n            .label('read-only') \\\n            .access_type('read-only') \\\n            .value('READ-ONLY') \\\n            .build() \\\n        .build()\n    # fmt: on\n\n    result = minput(form_fields)\n    print(result.__dict__ if result else \"None\")\n```\n\n![MenuInput](https://iili.io/HYBFVrG.png \"MenuInput\")\n\nOr even create nice dashboards:\n\n```python\nfrom hspylib.modules.cli.vt100.vt_color import VtColor\n\nfrom clitt.core.icons.font_awesome.dashboard_icons import DashboardIcons\nfrom clitt.core.tui.mdashboard.mdashboard import mdashboard, MenuDashBoard\nfrom clitt.core.tui.tui_preferences import TUIPreferences\n\nif __name__ == \"__main__\":\n    TUIPreferences(\n        max_rows=10,\n        items_per_line=3,\n        highlight_color=VtColor.WHITE\n    )\n    # fmt: off\n    dashboard_items = MenuDashBoard.builder() \\\n        .item() \\\n            .icon(DashboardIcons.POWER) \\\n            .tooltip('Do something') \\\n            .on_trigger(lambda: print('Something')) \\\n            .build() \\\n        .item() \\\n            .icon(DashboardIcons.MOVIE) \\\n            .tooltip('Another something') \\\n            .on_trigger(lambda: print('Another')) \\\n            .build() \\\n        .item() \\\n            .icon(DashboardIcons.NOTIFICATION) \\\n            .tooltip('Notify something') \\\n            .on_trigger(lambda: print('Notification')) \\\n            .build() \\\n        .item() \\\n            .icon(DashboardIcons.LIST) \\\n            .tooltip('List everything') \\\n            .on_trigger(lambda: print('List')) \\\n            .build() \\\n        .item() \\\n            .icon(DashboardIcons.DATABASE) \\\n            .tooltip('Database console') \\\n            .on_trigger(lambda: print('Database')) \\\n            .build() \\\n        .item() \\\n            .icon(DashboardIcons.EXIT) \\\n            .tooltip('Exit application') \\\n            .on_trigger(lambda: print('Exit')) \\\n            .build() \\\n        .build()\n    # fmt: on\n\n    result = mdashboard(dashboard_items)\n```\n\n![MenuDashboard](https://iili.io/HYBFX2f.png \"MenuDashboard\")\n\n## Table of contents\n\n<!-- toc -->\n\n- [1. Installation](#installation)\n  * [1.1. Requirements](#requirements)\n    + [1.1.1. Operating systems](#operating-systems)\n    + [1.1.2. Required software](#required-software)\n  * [1.2. PyPi](#pypi)\n  * [1.3. GitHub](#github)\n- [2. Documentation](#documentation)\n- [3. Contact](#contact)\n- [4. Support HsPyLib](#support-hspylib)\n- [5. Links](#links)\n\n<!-- tocstop -->\n\n## Installation\n\n### Requirements\n\n#### Python\n\n- Python 3.10 and higher\n\n#### Operating Systems\n\n- Darwin\n  + High Sierra and higher\n- Linux\n  + Ubuntu 16 and higher\n  + CentOS 7 and higher\n  + Fedora 31 and higher\n\nYou may want to install HsPyLib on other OS's and it will probably work, but there are no guarantees that it\n**WILL ACTUALLY WORK**.\n\n#### Required software\n\nThe following software are required:\n\n- Git (To clone the github repository)\n- Gradle (To build the HsPyLib project)\n\nThere are some python dependencies, but they will be automatically downloaded when the build runs.\n\n### PyPi\n\nTo install HsPyLib from PyPi issue the command:\n\n`# python3 -m pip install hspylib`\n\nTo upgrade HsPyLib use the command:\n\n`# python3 -m pip install hspylib --upgrade`\n\nAdditional modules that can also be installed:\n\n- [CLItt](https://pypi.org/project/hspylib-clitt) : `# python3 -m pip install hspylib-clitt` to install HsPyLib CLI terminal tools.\n- [Firebase](https://pypi.org/project/hspylib-firebase) : `# python3 -m pip install hspylib-firebase` to install HsPyLib Firebase application.\n- [Vault](https://pypi.org/project/hspylib-vault) : `# python3 -m pip install hspylib-vault` to install HsPyLib Vault application.\n- [CFMan](https://pypi.org/project/hspylib-cfman) : `# python3 -m pip install hspylib-cfman` to install CloudFoundry manager.\n- [Kafman](https://pypi.org/project/hspylib-kafman) : `# python3 -m pip install hspylib-kafman` to install Kafka manager.\n- [Datasource](https://pypi.org/project/hspylib-datasource) : `# python3 -m pip install hspylib-datasource` to install datasource helpers.\n- [HQT](https://pypi.org/project/hspylib-hqt) : `# python3 -m pip install hspylib-hqt` to install HsPyLib PyQt framework.\n\n### GitHub\n\nTo clone HsPyLib into your local machine type the command:\n\n`# git clone https://github.com/yorevs/hspylib.git`\n\n## Documentation\n\nThe API documentation can be found [here](docs/api/index.html)\n\n## Contact\n\nYou can contact us using our [Gitter](https://gitter.im/hspylib/community) community or using our\n[Reddit](https://www.reddit.com/user/yorevs).\n\n## Support HsPyLib\n\nYou can support HsPyLib\nby [donating](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)\nor coding. Fell free to contact me for details. When contributing with code change please take a look at our\n[guidelines](docs/CONTRIBUTING.md) and [code of conduct](docs/CODE_OF_CONDUCT.md).\n\n[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)\n\n## Sponsors\n\nThis project is supported by:\n\n<a href=\"https://www.jetbrains.com/community/opensource/?utm_campaign=opensource&utm_content=approved&utm_medium=email&utm_source=newsletter&utm_term=jblogo#support\">\n  <img src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png\" width=\"120\" height=\"120\">\n</a>\n\n[![DigitalOcean Referral Badge](https://web-platforms.sfo2.digitaloceanspaces.com/WWW/Badge%203.svg)](https://www.digitalocean.com/?refcode=a46eac913a06&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)\n\nThank you for your support <3 !!\n\n## Links\n\n- Documentation: [API](docs/api/index.html)\n- License: [MIT](LICENSE.md)\n- Releases: [HSPyLib-Releases](https://pypi.org/project/hspylib/#history)\n- Code: [Github](https://github.com/yorevs/hspylib)\n- Issue tracker: [HSPyLib-Issues](https://github.com/yorevs/hspylib/issues)\n- Official chat: [HSPyLib](https://gitter.im/hspylib/community)\n- Contact: [yorevs](https://www.reddit.com/user/yorevs)\n- Mailto: [yorevs](mailto:yorevs@hotmail.com)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "HsPyLib - QT framework extensions",
    "version": "0.9.37",
    "project_urls": {
        "GitHub": "https://github.com/yorevs/hspylib",
        "Homepage": "https://github.com/yorevs/hspylib",
        "PyPi": "https://pypi.org/project/hspylib-hqt/"
    },
    "split_keywords": [
        "qt",
        "ui",
        "extensions",
        "application",
        "pyqt"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "449c6fcb1b2701a04963ec0b3a92adfedae76932d0e1ec05b51e568ea6f84c59",
                "md5": "c9ccc631c9a2f6b27473b05307018874",
                "sha256": "51e5b92e988fd212de26869cb62bec0804d98c47fca51800cd7506ec68cc6e69"
            },
            "downloads": -1,
            "filename": "hspylib_hqt-0.9.37-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c9ccc631c9a2f6b27473b05307018874",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 24859,
            "upload_time": "2023-12-01T16:15:40",
            "upload_time_iso_8601": "2023-12-01T16:15:40.854890Z",
            "url": "https://files.pythonhosted.org/packages/44/9c/6fcb1b2701a04963ec0b3a92adfedae76932d0e1ec05b51e568ea6f84c59/hspylib_hqt-0.9.37-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "669ca7bc76f6bca17af562e7ae757cb97ec62f6dddf71ebf8fb2b2a99ea10800",
                "md5": "e607c8ce143b90f5e742b473b029ff06",
                "sha256": "fad0f2f22d9944f28b4443d122bd0338ea9851def5d7426e2e60e07ac525782a"
            },
            "downloads": -1,
            "filename": "hspylib-hqt-0.9.37.tar.gz",
            "has_sig": false,
            "md5_digest": "e607c8ce143b90f5e742b473b029ff06",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 21653,
            "upload_time": "2023-12-01T16:15:42",
            "upload_time_iso_8601": "2023-12-01T16:15:42.366985Z",
            "url": "https://files.pythonhosted.org/packages/66/9c/a7bc76f6bca17af562e7ae757cb97ec62f6dddf71ebf8fb2b2a99ea10800/hspylib-hqt-0.9.37.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-01 16:15:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "yorevs",
    "github_project": "hspylib",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "hspylib-hqt"
}
        
Elapsed time: 0.14937s