Skip to main content

Qt framework for building graphql driven QML applications

Project description

qt-graphql.png

Qt framework for building graphql driven QML applications

PyPI - Python Version PyPI GitHub Workflow Status (with branch) Codecov forthebadge forthebadge

Disclaimer

This project is currently under development and it is not production ready, You can play-around and tell us what is wrong / missing / awesome :smile:.

Intro

Qt-QML IMO is a big game changer

  • you get native performance
  • UI code is very clear and declarative
  • Easy to customize
  • Easy to learn

One of the big disadvantages in Qt-QML is that Qt-C++ API is very repititive and hard to maintain for data-driven applications.

although it is tempting to just use relay or other JS graphql lib there is a point where you would suffer from performance issues (:roll_eyes: react-native).

GraphQL support

As I have proggresed with the codebase I realized that I can do better and possibly mimic some features of graphql relay at the cost of making this project more opinionated. So I decided to rename it to qtgql (previouslly cuter :cat: ). Some of the current features:

  • Qt-native graphql-transport-ws network manager (supports subscriptions).
  • generic models that get created from dictionaries (with update, pop, insert implemeanted by default)
  • property classes that are accessible from QML, with dataclasses syntax (using attrs)

Future vision

  • Code generation from schema inspection Ideally every graphql type would be a QObject with Property for each field.
  • possibly generate C++ bindings from schema inspection
  • Query only what defined by the user (similar to how relay does this)
  • Auto mutations
  • Subscriptions

Visit the docs for more info

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qtgql-0.101.1.tar.gz (18.5 kB view hashes)

Uploaded Source

Built Distribution

qtgql-0.101.1-py3-none-any.whl (22.1 kB view hashes)

Uploaded Python 3

Supported by

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