Metadata-Version: 2.1
Name: QuickGraphLib
Version: 0.1.0a9
Summary: A scientific graphing library for QtQuick
Author-Email: Matthew Joyce <matthew.joyce@refeyn.com>
License: MIT License
        
        Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: X11 Applications :: Qt
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Multimedia :: Graphics :: Presentation
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Typing :: Typed
Project-URL: Homepage, https://github.com/refeyn/QuickGraphLib
Project-URL: Issues, https://github.com/refeyn/QuickGraphLib/issues
Project-URL: Documentation, https://refeyn.github.io/QuickGraphLib
Project-URL: Source, https://github.com/refeyn/QuickGraphLib
Requires-Dist: PySide6==6.8.0.2
Requires-Dist: contourpy
Requires-Dist: numpy<2
Requires-Dist: black; extra == "analyse"
Requires-Dist: pylint; extra == "analyse"
Requires-Dist: mypy; extra == "analyse"
Requires-Dist: pre-commit; extra == "analyse"
Requires-Dist: lxml; extra == "analyse"
Requires-Dist: pytest; extra == "analyse"
Requires-Dist: pytest-cov; extra == "analyse"
Requires-Dist: scikit-build-core; extra == "analyse"
Requires-Dist: shiboken6_generator==6.8.0.2; extra == "analyse"
Requires-Dist: setuptools_scm; extra == "analyse"
Provides-Extra: analyse
Description-Content-Type: text/markdown

# QuickGraphLib

A scientific graphing library for [QtQuick](https://doc.qt.io/qt-6/qtquick-index.html) using Qt6.

Links:
 - [Online documentation](https://refeyn.github.io/QuickGraphLib)
 - [PyPI page](https://pypi.org/project/QuickGraphLib/)
 - [Pre-built artefacts](https://github.com/refeyn/QuickGraphLib/releases/latest)

Key advantages:

 - Written in C++ and QML (with some optional Python helpers), so it can be used in both C++ and Python projects
 - QtQuick's hardware-based rendering makes this library render very fast
 - Support for line graphs, histograms, contour plots and more
 - Interactivity supported natively though declarative bindings and QtQuick
 - Support for PNG and SVG export

## Examples

The example gallery can be run using (provided the Python environment has [PySide6](https://pypi.org/project/PySide6/) and [contourpy](https://pypi.org/project/contourpy/) installed):

```bash
python examples/gallery.py
```

<p align="center"><img src="https://github.com/refeyn/QuickGraphLib/assets/103422031/56fdff62-ef77-4184-9f43-59a76b92d728" width="80%"></p>

## Qt version compatibility

This version of QuickGraphLib is compatible with Qt and PySide6 6.8.0. If you use this module from C++, then Qt's ABI stability guarantees means the compiled binaries will work for any Qt version >= 6.8 and < 7.0. If you use this module from Python, there are some additional features that rely on the PySide6 library version. Therefore the PySide6 version must be 6.8.0.2 exactly. Other 6.8 versions of PySide6 may work, but there are no guarantees.

The pre-built wheels aim to be compatible with the most recent recent Qt LTS version, which is currently 6.8. Pre-built wheels for higher non-LTS Qt versions will likely be available once Qt 6.9 is released.

## Python version compatibility

QuickGraphLib is compatible with the same Python versions and glibc versions that PySide6 is. For PySide6 6.8, the minimum Python version is 3.9.
