Skip to main content

A hatch plugin to build Pyside6 elements

Project description

hatch-pyside

PyPI - Version PyPI - Python Version


Table Of Contents

Goal

This is a hatch plugin able to automatically build the required Python files from their associated Qt source file. For example, it will build a ui_MainWindow.py file from a MainWindow.ui one.

Additionally, it installs pyside-build, a GUI tool to manage the proj_name.pyproject file that is used by pyside6-project (which is internally called by hatch-pyside).

Status

The plugin and the GUI are currently beta quality. They still lack real world tests and a decent documentation.

Starting with the 0.5.4 version, the plugin provides explanatory messages if the underlying pyside6-project command fails.

Installation

The installation only makes sense if you want to use the GUI script. For a simple plugin usage, the hatchling build backend will automatically install the plugin.

pip install hatch-pyside

Usage

Plugin

You only have to declare the plugin as a build dependency, and configure it to declare the directories that contain the Qt source files to compile.

If they contain a configured .pyproject file you are done:

[build-system]
requires = ["hatchling", "hatch-pyside"]
build-backend = "hatchling.build"
#...
# Declare the source folder(s) to the pyside plugin
[tool.hatch.build.targets.wheel.hooks.pyside]
folders = ["src/foo"]

GUI

If you install the package in your environment, you will gain access to the pyside-builder GUI tool. It uses the plugin configuration to know what are the directories of interest, and allow you to easily populate a .pyproject file

Developer

If you want to modify hatch-pyside, you can either grab the source package from PyPI, or better clone the GitHub repository:

git clone https://github.com/s-ball/hatch-pyside.git

Compatibility

hatch-pyside works fine with PySide6 in versions 6.8.x . In the new 6.9, pyside6-project has a dependency on tomlkit which is not correctly handled by the pip dependencies machinery. For that reason, the current version of hatch-pyside requires a version 6.8.x of PySide6.

Contributing

I shall always be glad to receive issues or Pull Requests on GitHub. But as I am the only maintainer, I cannot guarantee to react quickly to them. Please feel free to contact me by mail if I do not answer quickly enough...

License

hatch-pyside is distributed under the terms of 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

hatch_pyside-0.5.5.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

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

hatch_pyside-0.5.5-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file hatch_pyside-0.5.5.tar.gz.

File metadata

  • Download URL: hatch_pyside-0.5.5.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for hatch_pyside-0.5.5.tar.gz
Algorithm Hash digest
SHA256 bd5dce69545dbc471e681f73b4260ac2fd4fe96a0b3ccc8ede8ed0d60b4e19af
MD5 43572bed4b9afde9b9b3fc457d0b65ed
BLAKE2b-256 aab8ab33591a710bf32832051d3bcc5c9009155db3995473e85749e4c6a38b17

See more details on using hashes here.

File details

Details for the file hatch_pyside-0.5.5-py3-none-any.whl.

File metadata

  • Download URL: hatch_pyside-0.5.5-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for hatch_pyside-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4d5c9dc08d64a2f3691f617848b6050cffaf741c267741ae266e8fb7bcd4d4da
MD5 093652754109f6e3d84cde8d05faabc7
BLAKE2b-256 936f70da7d10158925bab9e48e82a6c67d37aaa5946ccb62fdafc6733c07881d

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