Metadata-Version: 2.1
Name: pyqtschema
Version: 0.2.0
Summary: Convert json-schema to QWidgets
Home-page: https://github.com/amsico/pyqtschema
Author: Amsico
Author-email: amsico@eclipso.eu
Project-URL: Bug Tracker, https://github.com/amsico/pyqtschema/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE

# pyqtschema

`pyqtschema` allows the generation of a graphical representation of a [jsonschema](https://json-schema.org/). A given
schema is translated to QWidgets.

## Installation

As usual:
* install the pypi version
  
  `pip install pyqtschema`

* or clone the repository

  `pip install git+https://github.com/amsico/pyqtschema.git`

## Usage

Use the `WidgetBuilder` in applications or run the module to visualize a schema:

`python -m pyqtschema ./path/to/your/scheam.json`

## Examples

Several examples are available in the [examples](https://github.com/amsico/pyqtschema/tree/main/examples) folder. The
examples use [pydantic](https://pydantic-docs.helpmanual.io/) to generate schemas easily.

## Background

`pyqtschema` is inspired by [qt-jsonschema-form](https://github.com/agoose77/qt-jsonschema-form). Due to the author's
lack of [time](https://github.com/agoose77/qt-jsonschema-form/pull/1#issuecomment-595491242) and the missing
[anyOf-support](https://github.com/agoose77/qt-jsonschema-form/blob/ca71ddbf10c2b309c3eb9c4fda6b054a0cb573dd/README.md?plain=1#L10)
, this project was started.

# Changelog

### Version 0.2.0 (2023-05-05)

* use [QtPy](https://pypi.org/project/QtPy/) instead of `PyQt5`

### Version 0.1.9 (2022-07-12)

* FIX: default calculation for simple AllOf-cases
* New example for ui_schema usage
* New example for simple AllOf case

### Version 0.1.8 (2022-07-04)

* state-setter in EnumWidget supports Enum-objects
* FIX: is_valid_data function in Schema returned wrong results
* FIX: AnyOf-Widget was not working properly with several types of the same type (issue #13)
* add first testing for EnumWidget
* renamed some examples

### Version 0.1.7 (2022-02-11)

* improve the readme-file
* add simple load/save functionality to the application
* add changelog to project-description
* add workaround for pydantic-allOf schema

### Version 0.1.6 (2022-02-10)

* improve anyOf support:
    * setting a state may modify the combo-box (if entry was changed)
    * improve default-support

### Version 0.1.5 (2022-02-09)

* improve path/directory-support

### Version 0.1.4 (2022-02-04)

* improve visibility of widgets (relevant widgets scale)
* add `parent` parameter to create_widget in builder
* pass parent to QWidgets to avoid flickering during the initialization

### Version 0.1.3 (2022-02-03)

* support `ui:hidden` in ui_schema (hide an unwanted widget; default is False)
* support `ui:disabled` in ui_schema (disable an unwanted widget; default is False)
* support parent parameter in create_form-function (Issue #6)

### Version 0.1.2 (2022-02-02)

* first official release on pypi: https://pypi.org/project/pyqtschema/
