Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gmarull/pyside2-boilerplate
Qt for Python Application Boilerplate: Resources, forms, multilanguage, compilation, docs, linting...
https://github.com/gmarull/pyside2-boilerplate
Last synced: 17 days ago
JSON representation
Qt for Python Application Boilerplate: Resources, forms, multilanguage, compilation, docs, linting...
- Host: GitHub
- URL: https://github.com/gmarull/pyside2-boilerplate
- Owner: gmarull
- License: mit
- Created: 2018-02-21T09:34:36.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2021-10-05T12:34:02.000Z (about 3 years ago)
- Last Synced: 2024-11-06T18:45:47.768Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 285 KB
- Stars: 190
- Watchers: 9
- Forks: 35
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- my-awesome-github-stars - gmarull/pyside2-boilerplate - Qt for Python Application Boilerplate: Resources, forms, multilanguage, compilation, docs, linting... (Python)
README
Qt for Python Application Boilerplate
======================================This repository contains a boilerplate for Qt for Python (PySide2) based
applications... image:: https://user-images.githubusercontent.com/25011557/36483230-da4620c6-1715-11e8-9ee5-c10053641440.png
:alt: Qt for Python Application BoilerplateFeatures
--------- Dependency management using ``pip``
- Use the *standard* ``setup.py`` to build resources, docs, etc.
- Manage resources and UI forms using a Qt Creator project
- Generate a *compiled* application for Windows, Linux and macOS using
PyInstaller_
- Multilanguage support
- Document using Sphinx_
- Flake8 lintingGetting started
---------------First of all create a new virtual environment and activate it::
python3 -m venv .venv
source .venv/bin/activateThen install the application in development mode::
pip install -e .
Finally install development dependencies::
pip install -r requirements-dev.txt
Autogenerated files such as translation binaries or compiled forms are required
but not pushed to the repository, so the first time you will need to generate
them as described in the coming section. Once done, you can run the application
like this::python -m app
Resources and translations
--------------------------In order to ease the development process, the Qt Creator project ``app.pro`` is
provided. You can open it to edit the UI files or to manage resources.
Translations can be edited using Qt Linguist, part of the Qt SDK. In order to
build the translations, you will need to have the ``lrelease`` command on your
``PATH`` or set its full path to the ``LRELEASE_BIN`` environment variable.
UI files, translations and resources can be built like this::python setup.py build_res
Note that this command is automatically run before running ``sdist`` and
``bdist_app`` commands.Compiled application
--------------------You can generate a *compiled* application so that end-users do not need to
install anything. You can tweak some settings on the ``app.spec`` file. It can
be generated like this::python setup.py bdist_app
Documentation
-------------Sphinx_ is used for documentation purposes. You can tweak its configuration in
``docs/conf.py`` and the documentation can be built like this::python setup.py build_docs
Linting
-------Flake8 is a great tool to check for style issues, unused imports and similar
stuff. You can tweak ``.flake8`` to ignore certain types of errors, increase the
maximum line length, etc. You can run it like this::flake8 app
.. _PyInstaller: http://www.pyinstaller.org/
.. _Sphinx: http://www.sphinx-doc.org/