semvec/pypi-packages huggingface dataset:
dawiq 1.0.1
Package to construct Qt widgets from dataclasses
License: MIT
Requires Python: >=3.9

# DaWiQ - Dataclass Widget with Qt

[![PyPI version](https://badge.fury.io/py/DaWiQ.svg)](https://badge.fury.io/py/DaWiQ)
[![Python Version](https://img.shields.io/pypi/pyversions/dawiq)](https://pypi.org/project/dawiq/)
[![Build Status](https://github.com/JSS95/dawiq/actions/workflows/ci.yml/badge.svg)](https://github.com/JSS95/dawiq/actions/workflows/ci.yml)
[![Documentation Status](https://readthedocs.org/projects/dawiq/badge/?version=latest)](https://dawiq.readthedocs.io/en/latest/?badge=latest)
[![License](https://img.shields.io/github/license/JSS95/dawiq)](https://github.com/JSS95/dawiq/blob/master/LICENSE)

DaWiQ is a Python package to generate Qt widget from dataclass.

It provides:
- Dynamic construction of widget from dataclass
- Customizing widget for user-defined type
- Delegate and mapper for dataclass widget

The following Qt bindings are supported:
- [PySide6](https://pypi.org/project/PySide6/)
- [PySide2](https://pypi.org/project/PySide2/)
- [PyQt6](https://pypi.org/project/PyQt6/)
- [PyQt5](https://pypi.org/project/PyQt5/)

# Usage

Here is a simple dataclass:

```python
from dataclasses import dataclass

@dataclass
class DataClass:
    a: int
    b: bool
```

DaWiQ can build a widget from this dataclass. For PySide6 example,

```python
from PySide6.QtWidgets import QApplication
from dawiq import dataclass2Widget
import sys

app = QApplication(sys.argv)
dataWidget = dataclass2Widget(DataClass)
dataWidget.show()
app.exec()
app.quit()
```

<div align="center">
  <img src="https://github.com/JSS95/dawiq/raw/master/doc/source/_images/widget-example.jpg"/><br>
</div>

This widget can be mapped to item model for storing the data.
More examples are provided in the documentation.

# Installation

DaWiQ can be installed from `PyPI`.

```
$ pip install dawiq
```

To install from GitHub source, clone the repository with `git` and install with `pip`.

```
$ git clone https://github.com/JSS95/dawiq.git
$ cd dawiq
$ pip install .
```

DaWiQ does not specify the Qt binding requirement, therefore you must manually install one.

# Documentation

DaWiQ is documented with [Sphinx](https://pypi.org/project/Sphinx/). Documentation can be found on Read the Docs:

> https://dawiq.readthedocs.io/

If you want to build the document yourself, get the source code and install with `[doc]` option.
Then go to `doc` directory and build the document.

```
$ pip install .[doc]
$ cd doc
$ make html
```

Document will be generated in `build/html` directory. Open `index.html` to see the central page.
pytest-forked 1.6.0
run tests in isolated forked subprocesses
License: MIT
Requires Python: >=3.7

pytest-forked: run each test in a forked subprocess
====================================================


.. warning::

	this is a extraction of the xdist --forked module,
	future maintenance beyond the bare minimum is not planned until a new maintainer is found.


This plugin **does not work on Windows** because there's no ``fork`` support.


* ``--forked``: run each test in a forked
  subprocess to survive ``SEGFAULTS`` or otherwise dying processes.

|python| |version| |ci| |pre-commit| |black|

.. |version| image:: http://img.shields.io/pypi/v/pytest-forked.svg
  :target: https://pypi.python.org/pypi/pytest-forked

.. |ci| image:: https://github.com/pytest-dev/pytest-forked/workflows/build/badge.svg
  :target: https://github.com/pytest-dev/pytest-forked/actions

.. |python| image:: https://img.shields.io/pypi/pyversions/pytest-forked.svg
  :target: https://pypi.python.org/pypi/pytest-forked/

.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
  :target: https://github.com/ambv/black

.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/pytest-dev/pytest-forked/master.svg
   :target: https://results.pre-commit.ci/latest/github/pytest-dev/pytest-forked/master

Installation
-----------------------

Install the plugin with::

    pip install pytest-forked

or use the package in develope/in-place mode with
a checkout of the `pytest-forked repository`_ ::

   pip install -e .


Usage examples
---------------------

If you have tests involving C or C++ libraries you might have to deal
with tests crashing the process.  For this case you may use the boxing
options::

    pytest --forked

which will run each test in a subprocess and will report if a test
crashed the process.  You can also combine this option with
running multiple processes via pytest-xdist to speed up the test run
and use your CPU cores::

    pytest -n3 --forked

this would run 3 testing subprocesses in parallel which each
create new forked subprocesses for each test.


You can also fork for individual tests::

    @pytest.mark.forked
    def test_with_leaky_state():
        run_some_monkey_patches()


This test will be unconditionally boxed, regardless of CLI flag.


.. _`pytest-forked repository`: https://github.com/pytest-dev/pytest-forked