PythonQwt 0.10.2__tar.gz → 0.10.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/CHANGELOG.md +22 -0
  2. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/MANIFEST.in +1 -2
  3. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/PKG-INFO +7 -9
  4. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/PythonQwt.egg-info/PKG-INFO +7 -9
  5. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/PythonQwt.egg-info/SOURCES.txt +27 -36
  6. PythonQwt-0.10.4/PythonQwt.egg-info/entry_points.txt +5 -0
  7. PythonQwt-0.10.4/PythonQwt.egg-info/requires.txt +11 -0
  8. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/README.md +9 -2
  9. PythonQwt-0.10.4/doc/_static/PythonQwt_logo.png +0 -0
  10. PythonQwt-0.10.4/doc/_static/QwtPlot_example.png +0 -0
  11. PythonQwt-0.10.4/doc/_static/symbol_path_example.png +0 -0
  12. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/conf.py +1 -3
  13. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/bodedemo.rst +1 -1
  14. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/cartesian.rst +1 -1
  15. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/cpudemo.rst +1 -1
  16. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/curvebenchmark1.rst +1 -1
  17. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/curvebenchmark2.rst +1 -1
  18. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/curvedemo1.rst +1 -1
  19. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/curvedemo2.rst +1 -1
  20. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/data.rst +1 -1
  21. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/errorbar.rst +1 -1
  22. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/eventfilter.rst +1 -1
  23. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/image.rst +1 -1
  24. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/logcurve.rst +1 -1
  25. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/mapdemo.rst +1 -1
  26. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/multidemo.rst +1 -1
  27. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/simple.rst +1 -1
  28. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/vertical.rst +1 -1
  29. PythonQwt-0.10.4/doc/index.rst +17 -0
  30. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/installation.rst +2 -1
  31. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/plot_example.py +6 -11
  32. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/reference/scale.rst +2 -0
  33. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/symbol_path_example.py +2 -7
  34. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/__init__.py +3 -2
  35. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/_math.py +0 -2
  36. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/plot.py +7 -18
  37. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/plot_canvas.py +14 -5
  38. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/plot_marker.py +1 -1
  39. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/plot_renderer.py +1 -3
  40. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/qthelpers.py +24 -2
  41. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/scale_engine.py +1 -3
  42. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/symbol.py +4 -4
  43. PythonQwt-0.10.4/qwt/tests/__init__.py +40 -0
  44. PythonQwt-0.10.4/qwt/tests/conftest.py +9 -0
  45. PythonQwt-0.10.4/qwt/tests/data/PythonQwt.svg +484 -0
  46. PythonQwt-0.10.4/qwt/tests/data/bodedemo.png +0 -0
  47. PythonQwt-0.10.4/qwt/tests/data/cartesian.png +0 -0
  48. PythonQwt-0.10.4/qwt/tests/data/cpudemo.png +0 -0
  49. PythonQwt-0.10.4/qwt/tests/data/curvebenchmark1.png +0 -0
  50. PythonQwt-0.10.4/qwt/tests/data/curvebenchmark2.png +0 -0
  51. PythonQwt-0.10.4/qwt/tests/data/curvedemo1.png +0 -0
  52. PythonQwt-0.10.4/qwt/tests/data/curvedemo2.png +0 -0
  53. PythonQwt-0.10.4/qwt/tests/data/data.png +0 -0
  54. PythonQwt-0.10.4/qwt/tests/data/errorbar.png +0 -0
  55. PythonQwt-0.10.4/qwt/tests/data/eventfilter.png +0 -0
  56. PythonQwt-0.10.4/qwt/tests/data/image.png +0 -0
  57. PythonQwt-0.10.4/qwt/tests/data/loadtest.png +0 -0
  58. PythonQwt-0.10.4/qwt/tests/data/logcurve.png +0 -0
  59. PythonQwt-0.10.4/qwt/tests/data/mapdemo.png +0 -0
  60. PythonQwt-0.10.4/qwt/tests/data/multidemo.png +0 -0
  61. PythonQwt-0.10.4/qwt/tests/data/simple.png +0 -0
  62. PythonQwt-0.10.4/qwt/tests/data/stylesheet.png +0 -0
  63. PythonQwt-0.10.4/qwt/tests/data/testlauncher.png +0 -0
  64. PythonQwt-0.10.4/qwt/tests/data/vertical.png +0 -0
  65. PythonQwt-0.10.2/qwt/tests/bodedemo.py → PythonQwt-0.10.4/qwt/tests/test_bodedemo.py +8 -6
  66. PythonQwt-0.10.2/qwt/tests/cartesian.py → PythonQwt-0.10.4/qwt/tests/test_cartesian.py +8 -3
  67. PythonQwt-0.10.2/qwt/tests/cpudemo.py → PythonQwt-0.10.4/qwt/tests/test_cpudemo.py +8 -3
  68. PythonQwt-0.10.2/qwt/tests/curvebenchmark1.py → PythonQwt-0.10.4/qwt/tests/test_curvebenchmark1.py +9 -6
  69. PythonQwt-0.10.2/qwt/tests/curvebenchmark2.py → PythonQwt-0.10.4/qwt/tests/test_curvebenchmark2.py +8 -4
  70. PythonQwt-0.10.2/qwt/tests/curvedemo1.py → PythonQwt-0.10.4/qwt/tests/test_curvedemo1.py +8 -3
  71. PythonQwt-0.10.2/qwt/tests/curvedemo2.py → PythonQwt-0.10.4/qwt/tests/test_curvedemo2.py +8 -3
  72. PythonQwt-0.10.2/qwt/tests/data.py → PythonQwt-0.10.4/qwt/tests/test_data.py +8 -3
  73. PythonQwt-0.10.2/qwt/tests/errorbar.py → PythonQwt-0.10.4/qwt/tests/test_errorbar.py +8 -3
  74. PythonQwt-0.10.2/qwt/tests/eventfilter.py → PythonQwt-0.10.4/qwt/tests/test_eventfilter.py +8 -3
  75. PythonQwt-0.10.2/qwt/tests/image.py → PythonQwt-0.10.4/qwt/tests/test_image.py +8 -3
  76. PythonQwt-0.10.2/qwt/tests/loadtest.py → PythonQwt-0.10.4/qwt/tests/test_loadtest.py +8 -4
  77. PythonQwt-0.10.2/qwt/tests/logcurve.py → PythonQwt-0.10.4/qwt/tests/test_logcurve.py +8 -3
  78. PythonQwt-0.10.2/qwt/tests/mapdemo.py → PythonQwt-0.10.4/qwt/tests/test_mapdemo.py +8 -3
  79. PythonQwt-0.10.2/qwt/tests/multidemo.py → PythonQwt-0.10.4/qwt/tests/test_multidemo.py +8 -3
  80. PythonQwt-0.10.2/qwt/tests/simple.py → PythonQwt-0.10.4/qwt/tests/test_simple.py +8 -3
  81. PythonQwt-0.10.4/qwt/tests/test_stylesheet.py +28 -0
  82. PythonQwt-0.10.2/qwt/tests/vertical.py → PythonQwt-0.10.4/qwt/tests/test_vertical.py +8 -3
  83. PythonQwt-0.10.2/qwt/tests/__init__.py → PythonQwt-0.10.4/qwt/tests/utils.py +59 -93
  84. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/text.py +1 -19
  85. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/setup.py +7 -8
  86. PythonQwt-0.10.2/.gitignore +0 -73
  87. PythonQwt-0.10.2/.hgignore +0 -29
  88. PythonQwt-0.10.2/.hgtags +0 -11
  89. PythonQwt-0.10.2/.vscode/launch.json +0 -22
  90. PythonQwt-0.10.2/PythonQwt.egg-info/entry_points.txt +0 -6
  91. PythonQwt-0.10.2/PythonQwt.egg-info/requires.txt +0 -5
  92. PythonQwt-0.10.2/doc/images/QwtPlot_example.png +0 -0
  93. PythonQwt-0.10.2/doc/images/symbol_path_example.png +0 -0
  94. PythonQwt-0.10.2/doc/index.rst +0 -32
  95. PythonQwt-0.10.2/doc/requirements.txt +0 -4
  96. PythonQwt-0.10.2/qwt/tests/data/bodedemo.png +0 -0
  97. PythonQwt-0.10.2/qwt/tests/data/cartesian.png +0 -0
  98. PythonQwt-0.10.2/qwt/tests/data/cpudemo.png +0 -0
  99. PythonQwt-0.10.2/qwt/tests/data/curvebenchmark1.png +0 -0
  100. PythonQwt-0.10.2/qwt/tests/data/curvebenchmark2.png +0 -0
  101. PythonQwt-0.10.2/qwt/tests/data/curvedemo1.png +0 -0
  102. PythonQwt-0.10.2/qwt/tests/data/curvedemo2.png +0 -0
  103. PythonQwt-0.10.2/qwt/tests/data/data.png +0 -0
  104. PythonQwt-0.10.2/qwt/tests/data/errorbar.png +0 -0
  105. PythonQwt-0.10.2/qwt/tests/data/eventfilter.png +0 -0
  106. PythonQwt-0.10.2/qwt/tests/data/image.png +0 -0
  107. PythonQwt-0.10.2/qwt/tests/data/loadtest.png +0 -0
  108. PythonQwt-0.10.2/qwt/tests/data/logcurve.png +0 -0
  109. PythonQwt-0.10.2/qwt/tests/data/mapdemo.png +0 -0
  110. PythonQwt-0.10.2/qwt/tests/data/multidemo.png +0 -0
  111. PythonQwt-0.10.2/qwt/tests/data/simple.png +0 -0
  112. PythonQwt-0.10.2/qwt/tests/data/testlauncher.png +0 -0
  113. PythonQwt-0.10.2/qwt/tests/data/vertical.png +0 -0
  114. PythonQwt-0.10.2/scripts/build_and_upload.bat +0 -32
  115. PythonQwt-0.10.2/scripts/build_dist.bat +0 -18
  116. PythonQwt-0.10.2/scripts/build_doc.bat +0 -22
  117. PythonQwt-0.10.2/scripts/clean_up.bat +0 -16
  118. PythonQwt-0.10.2/scripts/preview_doc.bat +0 -16
  119. PythonQwt-0.10.2/scripts/run_test_launcher.bat +0 -14
  120. PythonQwt-0.10.2/scripts/run_test_venv.bat +0 -33
  121. PythonQwt-0.10.2/scripts/run_unattended_tests.bat +0 -39
  122. PythonQwt-0.10.2/scripts/take_screenshots.bat +0 -15
  123. PythonQwt-0.10.2/scripts/utils.bat +0 -58
  124. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/LICENSE +0 -0
  125. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/PythonQwt.egg-info/dependency_links.txt +0 -0
  126. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/PythonQwt.egg-info/top_level.txt +0 -0
  127. {PythonQwt-0.10.2/doc/images → PythonQwt-0.10.4/doc/_static}/panorama.png +0 -0
  128. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/examples/index.rst +0 -0
  129. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/overview.rst +0 -0
  130. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/reference/graphic.rst +0 -0
  131. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/reference/index.rst +0 -0
  132. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/reference/interval.rst +0 -0
  133. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/reference/plot.rst +0 -0
  134. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/reference/plot_directpainter.rst +0 -0
  135. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/reference/plot_layout.rst +0 -0
  136. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/reference/plot_series.rst +0 -0
  137. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/reference/symbol.rst +0 -0
  138. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/reference/text.rst +0 -0
  139. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/reference/toqimage.rst +0 -0
  140. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/doc/reference/transform.rst +0 -0
  141. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/color_map.py +0 -0
  142. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/column_symbol.py +0 -0
  143. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/dyngrid_layout.py +0 -0
  144. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/graphic.py +0 -0
  145. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/interval.py +0 -0
  146. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/legend.py +0 -0
  147. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/null_paintdevice.py +0 -0
  148. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/painter.py +0 -0
  149. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/painter_command.py +0 -0
  150. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/plot_curve.py +0 -0
  151. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/plot_directpainter.py +0 -0
  152. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/plot_grid.py +0 -0
  153. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/plot_layout.py +0 -0
  154. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/plot_series.py +0 -0
  155. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/scale_div.py +0 -0
  156. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/scale_draw.py +0 -0
  157. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/scale_map.py +0 -0
  158. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/scale_widget.py +0 -0
  159. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/tests/comparative_benchmarks.py +0 -0
  160. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/toqimage.py +0 -0
  161. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/qwt/transform.py +0 -0
  162. {PythonQwt-0.10.2 → PythonQwt-0.10.4}/setup.cfg +0 -0
@@ -1,5 +1,27 @@
1
1
  # PythonQwt Releases
2
2
 
3
+ ## Version 0.10.4
4
+
5
+ - [Issue #80](https://github.com/PlotPyStack/PythonQwt/issues/80) - Print to PDF: AttributeError: 'NoneType' object has no attribute 'getContentsMargins'
6
+
7
+ ## Version 0.10.3
8
+
9
+ - [Issue #79](https://github.com/PlotPyStack/PythonQwt/issues/79) - TypeError: unexpected type 'QSize' (thanks to @luc-j-bourhis)
10
+
11
+ - Moved project to the [PlotPyStack](https://github.com/PlotPyStack) organization.
12
+
13
+ - Unit tests: added support for ``pytest`` and ``coverage`` (60% coverage as of today)
14
+
15
+ - [Issue #74](https://github.com/PlotPyStack/PythonQwt/issues/74) - TypeError: QwtPlotDict.__init__() [...] with PySide 6.5.0
16
+
17
+ - [Issue #77](https://github.com/PlotPyStack/PythonQwt/issues/77) - AttributeError: 'XXX' object has no attribute '_QwtPlot__data'
18
+
19
+ - [Issue #72](https://github.com/PlotPyStack/PythonQwt/issues/72) - AttributeError: 'QwtScaleWidget' object has no attribute 'maxMajor' / 'maxMinor' / 'stepSize'
20
+
21
+ - [Issue #76](https://github.com/PlotPyStack/PythonQwt/issues/76) - [PySide] AttributeError: 'QwtPlotCanvas' object has no attribute 'Sunken'
22
+
23
+ - [Issue #63](https://github.com/PlotPyStack/PythonQwt/issues/71) - TypeError: 'PySide2.QtCore.QRect' object is not subscriptable
24
+
3
25
  ## Version 0.10.2
4
26
 
5
27
  - Fixed type mismatch issues on Linux
@@ -2,5 +2,4 @@ recursive-include doc *.py *.rst *.png
2
2
  include MANIFEST.in
3
3
  include LICENSE
4
4
  include README.md
5
- include CHANGELOG.md
6
- include doc/PythonQwt.chm.zip
5
+ include CHANGELOG.md
@@ -1,11 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PythonQwt
3
- Version: 0.10.2
3
+ Version: 0.10.4
4
4
  Summary: Qt plotting widgets for Python
5
- Home-page: https://github.com/PierreRaybaut/PythonQwt
5
+ Home-page: https://github.com/PlotPyStack/PythonQwt
6
6
  Author: Pierre Raybaut
7
7
  Author-email: pierre.raybaut@gmail.com
8
- License: UNKNOWN
9
8
  Platform: Any
10
9
  Classifier: Development Status :: 5 - Production/Stable
11
10
  Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)
@@ -18,7 +17,8 @@ Classifier: Operating System :: OS Independent
18
17
  Classifier: Operating System :: POSIX
19
18
  Classifier: Operating System :: Unix
20
19
  Classifier: Programming Language :: Python :: 3
21
- Provides-Extra: Doc
20
+ Provides-Extra: doc
21
+ Provides-Extra: test
22
22
  License-File: LICENSE
23
23
 
24
24
  PythonQwt: Qt plotting widgets for Python
@@ -59,11 +59,9 @@ The following example is a good starting point to see how to set up a simple plo
59
59
  plot.show()
60
60
  app.exec_()
61
61
 
62
- .. image:: https://raw.githubusercontent.com/PierreRaybaut/PythonQwt/master/doc/images/QwtPlot_example.png
62
+ .. image:: https://raw.githubusercontent.com/PierreRaybaut/PythonQwt/master/doc/_static/QwtPlot_example.png
63
63
 
64
- .. _README: https://github.com/PierreRaybaut/PythonQwt/blob/master/README.md
64
+ .. _README: https://github.com/PlotPyStack/PythonQwt/blob/master/README.md
65
65
  .. _online: https://pythonqwt.readthedocs.io/en/latest/
66
66
  .. _PDF: https://pythonqwt.readthedocs.io/_/downloads/en/latest/pdf/
67
- .. _changelog: https://github.com/PierreRaybaut/PythonQwt/blob/master/CHANGELOG.md
68
-
69
-
67
+ .. _changelog: https://github.com/PlotPyStack/PythonQwt/blob/master/CHANGELOG.md
@@ -1,11 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PythonQwt
3
- Version: 0.10.2
3
+ Version: 0.10.4
4
4
  Summary: Qt plotting widgets for Python
5
- Home-page: https://github.com/PierreRaybaut/PythonQwt
5
+ Home-page: https://github.com/PlotPyStack/PythonQwt
6
6
  Author: Pierre Raybaut
7
7
  Author-email: pierre.raybaut@gmail.com
8
- License: UNKNOWN
9
8
  Platform: Any
10
9
  Classifier: Development Status :: 5 - Production/Stable
11
10
  Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)
@@ -18,7 +17,8 @@ Classifier: Operating System :: OS Independent
18
17
  Classifier: Operating System :: POSIX
19
18
  Classifier: Operating System :: Unix
20
19
  Classifier: Programming Language :: Python :: 3
21
- Provides-Extra: Doc
20
+ Provides-Extra: doc
21
+ Provides-Extra: test
22
22
  License-File: LICENSE
23
23
 
24
24
  PythonQwt: Qt plotting widgets for Python
@@ -59,11 +59,9 @@ The following example is a good starting point to see how to set up a simple plo
59
59
  plot.show()
60
60
  app.exec_()
61
61
 
62
- .. image:: https://raw.githubusercontent.com/PierreRaybaut/PythonQwt/master/doc/images/QwtPlot_example.png
62
+ .. image:: https://raw.githubusercontent.com/PierreRaybaut/PythonQwt/master/doc/_static/QwtPlot_example.png
63
63
 
64
- .. _README: https://github.com/PierreRaybaut/PythonQwt/blob/master/README.md
64
+ .. _README: https://github.com/PlotPyStack/PythonQwt/blob/master/README.md
65
65
  .. _online: https://pythonqwt.readthedocs.io/en/latest/
66
66
  .. _PDF: https://pythonqwt.readthedocs.io/_/downloads/en/latest/pdf/
67
- .. _changelog: https://github.com/PierreRaybaut/PythonQwt/blob/master/CHANGELOG.md
68
-
69
-
67
+ .. _changelog: https://github.com/PlotPyStack/PythonQwt/blob/master/CHANGELOG.md
@@ -1,12 +1,8 @@
1
- .gitignore
2
- .hgignore
3
- .hgtags
4
1
  CHANGELOG.md
5
2
  LICENSE
6
3
  MANIFEST.in
7
4
  README.md
8
5
  setup.py
9
- .vscode/launch.json
10
6
  PythonQwt.egg-info/PKG-INFO
11
7
  PythonQwt.egg-info/SOURCES.txt
12
8
  PythonQwt.egg-info/dependency_links.txt
@@ -18,8 +14,11 @@ doc/index.rst
18
14
  doc/installation.rst
19
15
  doc/overview.rst
20
16
  doc/plot_example.py
21
- doc/requirements.txt
22
17
  doc/symbol_path_example.py
18
+ doc/_static/PythonQwt_logo.png
19
+ doc/_static/QwtPlot_example.png
20
+ doc/_static/panorama.png
21
+ doc/_static/symbol_path_example.png
23
22
  doc/examples/bodedemo.rst
24
23
  doc/examples/cartesian.rst
25
24
  doc/examples/cpudemo.rst
@@ -37,9 +36,6 @@ doc/examples/mapdemo.rst
37
36
  doc/examples/multidemo.rst
38
37
  doc/examples/simple.rst
39
38
  doc/examples/vertical.rst
40
- doc/images/QwtPlot_example.png
41
- doc/images/panorama.png
42
- doc/images/symbol_path_example.png
43
39
  doc/reference/graphic.rst
44
40
  doc/reference/index.rst
45
41
  doc/reference/interval.rst
@@ -83,24 +79,28 @@ qwt/text.py
83
79
  qwt/toqimage.py
84
80
  qwt/transform.py
85
81
  qwt/tests/__init__.py
86
- qwt/tests/bodedemo.py
87
- qwt/tests/cartesian.py
88
82
  qwt/tests/comparative_benchmarks.py
89
- qwt/tests/cpudemo.py
90
- qwt/tests/curvebenchmark1.py
91
- qwt/tests/curvebenchmark2.py
92
- qwt/tests/curvedemo1.py
93
- qwt/tests/curvedemo2.py
94
- qwt/tests/data.py
95
- qwt/tests/errorbar.py
96
- qwt/tests/eventfilter.py
97
- qwt/tests/image.py
98
- qwt/tests/loadtest.py
99
- qwt/tests/logcurve.py
100
- qwt/tests/mapdemo.py
101
- qwt/tests/multidemo.py
102
- qwt/tests/simple.py
103
- qwt/tests/vertical.py
83
+ qwt/tests/conftest.py
84
+ qwt/tests/test_bodedemo.py
85
+ qwt/tests/test_cartesian.py
86
+ qwt/tests/test_cpudemo.py
87
+ qwt/tests/test_curvebenchmark1.py
88
+ qwt/tests/test_curvebenchmark2.py
89
+ qwt/tests/test_curvedemo1.py
90
+ qwt/tests/test_curvedemo2.py
91
+ qwt/tests/test_data.py
92
+ qwt/tests/test_errorbar.py
93
+ qwt/tests/test_eventfilter.py
94
+ qwt/tests/test_image.py
95
+ qwt/tests/test_loadtest.py
96
+ qwt/tests/test_logcurve.py
97
+ qwt/tests/test_mapdemo.py
98
+ qwt/tests/test_multidemo.py
99
+ qwt/tests/test_simple.py
100
+ qwt/tests/test_stylesheet.py
101
+ qwt/tests/test_vertical.py
102
+ qwt/tests/utils.py
103
+ qwt/tests/data/PythonQwt.svg
104
104
  qwt/tests/data/bodedemo.png
105
105
  qwt/tests/data/cartesian.png
106
106
  qwt/tests/data/cpudemo.png
@@ -117,15 +117,6 @@ qwt/tests/data/logcurve.png
117
117
  qwt/tests/data/mapdemo.png
118
118
  qwt/tests/data/multidemo.png
119
119
  qwt/tests/data/simple.png
120
+ qwt/tests/data/stylesheet.png
120
121
  qwt/tests/data/testlauncher.png
121
- qwt/tests/data/vertical.png
122
- scripts/build_and_upload.bat
123
- scripts/build_dist.bat
124
- scripts/build_doc.bat
125
- scripts/clean_up.bat
126
- scripts/preview_doc.bat
127
- scripts/run_test_launcher.bat
128
- scripts/run_test_venv.bat
129
- scripts/run_unattended_tests.bat
130
- scripts/take_screenshots.bat
131
- scripts/utils.bat
122
+ qwt/tests/data/vertical.png
@@ -0,0 +1,5 @@
1
+ [console_scripts]
2
+ PythonQwt-tests = qwt.tests:run [Tests]
3
+
4
+ [gui_scripts]
5
+ PythonQwt = qwt.tests:run [Tests]
@@ -0,0 +1,11 @@
1
+ NumPy>=1.5
2
+ QtPy>=1.3
3
+
4
+ [doc]
5
+ Sphinx>=1.1
6
+
7
+ [test]
8
+ coverage
9
+ pytest
10
+ pytest-qt
11
+ pytest-cov
@@ -2,11 +2,13 @@
2
2
 
3
3
  [![license](https://img.shields.io/pypi/l/PythonQwt.svg)](./LICENSE)
4
4
  [![pypi version](https://img.shields.io/pypi/v/PythonQwt.svg)](https://pypi.org/project/PythonQwt/)
5
- [![PyPI status](https://img.shields.io/pypi/status/PythonQwt.svg)](https://github.com/PierreRaybaut/PythonQwt)
5
+ [![PyPI status](https://img.shields.io/pypi/status/PythonQwt.svg)](https://github.com/PlotPyStack/PythonQwt)
6
6
  [![PyPI pyversions](https://img.shields.io/pypi/pyversions/PythonQwt.svg)](https://pypi.python.org/pypi/PythonQwt/)
7
7
  [![download count](https://img.shields.io/conda/dn/conda-forge/PythonQwt.svg)](https://www.anaconda.com/download/)
8
8
  [![Documentation Status](https://readthedocs.org/projects/pythonqwt/badge/?version=latest)](https://pythonqwt.readthedocs.io/en/latest/?badge=latest)
9
9
 
10
+ ℹ️ Created in 2014 by Pierre Raybaut and maintained by the [PlotPyStack](https://github.com/PlotPyStack) organization.
11
+
10
12
  ![PythonQwt Test Launcher](qwt/tests/data/testlauncher.png)
11
13
 
12
14
  The `PythonQwt` project was initiated to solve -at least temporarily- the
@@ -44,7 +46,7 @@ plot.show()
44
46
  app.exec_()
45
47
  ```
46
48
 
47
- ![Simple plot example](doc/images/QwtPlot_example.png)
49
+ ![Simple plot example](doc/_static/QwtPlot_example.png)
48
50
 
49
51
  ## Examples (tests)
50
52
 
@@ -92,6 +94,11 @@ for more details on API limitations when comparing to Qwt.
92
94
  - QtPy >= 1.3
93
95
  - NumPy >= 1.5
94
96
 
97
+ ### Optional dependencies
98
+
99
+ - coverage, pytest, pytest-qt, pytest-cov (for unit tests)
100
+ - sphinx (for documentation generation)
101
+
95
102
  ## Installation
96
103
 
97
104
  From the source package:
@@ -8,8 +8,6 @@
8
8
  # All configuration values have a default; values that are commented out
9
9
  # serve to show the default.
10
10
 
11
- from __future__ import print_function, unicode_literals
12
-
13
11
  import sys
14
12
 
15
13
  # If extensions (or modules to document with autodoc) are in another directory,
@@ -123,7 +121,7 @@ html_title = "%s %s Manual" % (project, version)
123
121
 
124
122
  # The name of an image file (relative to this directory) to place at the top
125
123
  # of the sidebar.
126
- # html_logo = 'images/qwt.png'
124
+ html_logo = "_static/PythonQwt_logo.png"
127
125
 
128
126
  # The name of an image file (within the static path) to use as favicon of the
129
127
  # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
@@ -3,5 +3,5 @@ Bode demo
3
3
 
4
4
  .. image:: /../qwt/tests/data/bodedemo.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/bodedemo.py
6
+ .. literalinclude:: /../qwt/tests/test_bodedemo.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Cartesian demo
3
3
 
4
4
  .. image:: /../qwt/tests/data/cartesian.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/cartesian.py
6
+ .. literalinclude:: /../qwt/tests/test_cartesian.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ CPU plot demo
3
3
 
4
4
  .. image:: /../qwt/tests/data/cpudemo.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/cpudemo.py
6
+ .. literalinclude:: /../qwt/tests/test_cpudemo.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Curve benchmark demo 1
3
3
 
4
4
  .. image:: /../qwt/tests/data/curvebenchmark1.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/curvebenchmark1.py
6
+ .. literalinclude:: /../qwt/tests/test_curvebenchmark1.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Curve benchmark demo 2
3
3
 
4
4
  .. image:: /../qwt/tests/data/curvebenchmark2.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/curvebenchmark2.py
6
+ .. literalinclude:: /../qwt/tests/test_curvebenchmark2.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Curve demo 1
3
3
 
4
4
  .. image:: /../qwt/tests/data/curvedemo1.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/curvedemo1.py
6
+ .. literalinclude:: /../qwt/tests/test_curvedemo1.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Curve demo 2
3
3
 
4
4
  .. image:: /../qwt/tests/data/curvedemo2.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/curvedemo2.py
6
+ .. literalinclude:: /../qwt/tests/test_curvedemo2.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Data demo
3
3
 
4
4
  .. image:: /../qwt/tests/data/data.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/data.py
6
+ .. literalinclude:: /../qwt/tests/test_data.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Error bar demo
3
3
 
4
4
  .. image:: /../qwt/tests/data/errorbar.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/errorbar.py
6
+ .. literalinclude:: /../qwt/tests/test_errorbar.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Event filter demo
3
3
 
4
4
  .. image:: /../qwt/tests/data/eventfilter.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/eventfilter.py
6
+ .. literalinclude:: /../qwt/tests/test_eventfilter.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Image plot demo
3
3
 
4
4
  .. image:: /../qwt/tests/data/image.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/image.py
6
+ .. literalinclude:: /../qwt/tests/test_image.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Log curve plot demo
3
3
 
4
4
  .. image:: /../qwt/tests/data/logcurve.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/logcurve.py
6
+ .. literalinclude:: /../qwt/tests/test_logcurve.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Map demo
3
3
 
4
4
  .. image:: /../qwt/tests/data/mapdemo.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/mapdemo.py
6
+ .. literalinclude:: /../qwt/tests/test_mapdemo.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Multi demo
3
3
 
4
4
  .. image:: /../qwt/tests/data/multidemo.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/multidemo.py
6
+ .. literalinclude:: /../qwt/tests/test_multidemo.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Really simple demo
3
3
 
4
4
  .. image:: /../qwt/tests/data/simple.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/simple.py
6
+ .. literalinclude:: /../qwt/tests/test_simple.py
7
7
  :start-after: SHOW
@@ -3,5 +3,5 @@ Vertical plot demo
3
3
 
4
4
  .. image:: /../qwt/tests/data/vertical.png
5
5
 
6
- .. literalinclude:: /../qwt/tests/vertical.py
6
+ .. literalinclude:: /../qwt/tests/test_vertical.py
7
7
  :start-after: SHOW
@@ -0,0 +1,17 @@
1
+ .. automodule:: qwt
2
+
3
+ Contents:
4
+
5
+ .. toctree::
6
+ :maxdepth: 2
7
+
8
+ overview
9
+ installation
10
+ examples/index
11
+ reference/index
12
+
13
+
14
+ Indices and tables:
15
+
16
+ * :ref:`genindex`
17
+ * :ref:`search`
@@ -10,6 +10,7 @@ Requirements:
10
10
  * QtPy >= 1.3
11
11
  * NumPy 1.x (x>=5)
12
12
  * Sphinx 1.x (x>=1) for documentation generation
13
+ * pytest, pytest-cov, pytest-qt, coverage for unit testing
13
14
 
14
15
  Installation
15
16
  ------------
@@ -25,4 +26,4 @@ External resources:
25
26
 
26
27
  * Bug reports and feature requests: `GitHub`_
27
28
 
28
- .. _GitHub: https://github.com/PierreRaybaut/PythonQwt
29
+ .. _GitHub: https://github.com/PlotPyStack/PythonQwt
@@ -1,6 +1,10 @@
1
+ import os.path as osp
2
+
3
+ import numpy as np
1
4
  from qtpy import QtWidgets as QW
5
+
2
6
  import qwt
3
- import numpy as np
7
+ from qwt import qthelpers as qth
4
8
 
5
9
  app = QW.QApplication([])
6
10
  x = np.linspace(-10, 10, 500)
@@ -8,13 +12,4 @@ plot = qwt.QwtPlot("Trigonometric functions")
8
12
  plot.insertLegend(qwt.QwtLegend(), qwt.QwtPlot.BottomLegend)
9
13
  qwt.QwtPlotCurve.make(x, np.cos(x), "Cosinus", plot, linecolor="red", antialiased=True)
10
14
  qwt.QwtPlotCurve.make(x, np.sin(x), "Sinus", plot, linecolor="blue", antialiased=True)
11
- plot.resize(600, 300)
12
- plot.show()
13
-
14
- import os.path as osp
15
-
16
- plot.grab().save(
17
- osp.join(osp.abspath(osp.dirname(__file__)), "images", "QwtPlot_example.png")
18
- )
19
-
20
- app.exec_()
15
+ qth.take_screenshot(plot, osp.join(osp.abspath(osp.dirname(__file__)), "_static", "QwtPlot_example.png"), size=(600, 300))
@@ -1,6 +1,8 @@
1
1
  Scales
2
2
  ------
3
3
 
4
+ .. automodule:: qwt.scale_map
5
+
4
6
  .. automodule:: qwt.scale_widget
5
7
 
6
8
  .. automodule:: qwt.scale_div
@@ -4,6 +4,7 @@ from qtpy import QtCore as QC
4
4
  import qwt
5
5
  import numpy as np
6
6
  import os.path as osp
7
+ from qwt import qthelpers as qth
7
8
 
8
9
  app = QW.QApplication([])
9
10
 
@@ -43,12 +44,6 @@ curve.setData(x, np.sin(x))
43
44
 
44
45
  plot = qwt.QwtPlot()
45
46
  curve.attach(plot)
46
- plot.resize(600, 300)
47
47
  plot.replot()
48
- plot.show()
49
48
 
50
- plot.grab().save(
51
- osp.join(osp.abspath(osp.dirname(__file__)), "images", "symbol_path_example.png")
52
- )
53
-
54
- app.exec_()
49
+ qth.take_screenshot(plot, osp.join(osp.abspath(osp.dirname(__file__)), "_static", "symbol_path_example.png"), size=(600, 300))
@@ -24,9 +24,10 @@ External resources:
24
24
 
25
25
  .. _PyPI: https://pypi.python.org/pypi/PythonQwt
26
26
  .. _GitHubPage: http://pierreraybaut.github.io/PythonQwt
27
- .. _GitHub: https://github.com/PierreRaybaut/PythonQwt
27
+ .. _GitHub: https://github.com/PlotPyStack/PythonQwt
28
28
  """
29
- __version__ = "0.10.2"
29
+
30
+ __version__ = "0.10.4"
30
31
  QWT_VERSION_STR = "6.1.5"
31
32
 
32
33
  import warnings
@@ -5,8 +5,6 @@
5
5
  # Copyright (c) 2015 Pierre Raybaut, for the Python translation/optimization
6
6
  # (see LICENSE file for more details)
7
7
 
8
- from __future__ import division
9
-
10
8
  from qtpy.QtCore import qFuzzyCompare
11
9
 
12
10
  import math
@@ -217,7 +217,7 @@ class AxisData(object):
217
217
  self.scaleWidget = None # QwtScaleWidget
218
218
 
219
219
 
220
- class QwtPlot(QFrame, QwtPlotDict):
220
+ class QwtPlot(QwtPlotDict, QFrame):
221
221
  """
222
222
  A 2-D plotting widget
223
223
 
@@ -249,7 +249,7 @@ class QwtPlot(QFrame, QwtPlotDict):
249
249
  plot.resize(600, 300)
250
250
  plot.show()
251
251
 
252
- .. image:: /images/QwtPlot_example.png
252
+ .. image:: /_static/QwtPlot_example.png
253
253
 
254
254
  .. py:class:: QwtPlot([title=""], [parent=None])
255
255
 
@@ -361,17 +361,6 @@ class QwtPlot(QFrame, QwtPlotDict):
361
361
 
362
362
  qwtEnableLegendItems(self, True)
363
363
 
364
- def __del__(self):
365
- self.setAutoReplot(False)
366
- # XXX Is is really necessary in Python? (pure transcription of C++)
367
- # The following line have been commented to avoid crashing Python
368
- # when exiting interpreter (Python 3 only)
369
-
370
- # self.detachItems(QwtPlotItem.Rtti_PlotItem, self.autoDelete())
371
- # self.__data.layout = None
372
- # self.deleteAxesData()
373
- # self.__data = None
374
-
375
364
  def setFlatStyle(self, state):
376
365
  """
377
366
  Set or reset the flatStyle option
@@ -585,7 +574,7 @@ class QwtPlot(QFrame, QwtPlotDict):
585
574
  :py:meth:`qwt.scale_engine.QwtScaleEngine.divideScale()`
586
575
  """
587
576
  if self.axisValid(axisId):
588
- return self.axisWidget(axisId).maxMajor
577
+ return self.__axisData[axisId].maxMajor
589
578
  else:
590
579
  return 0
591
580
 
@@ -600,7 +589,7 @@ class QwtPlot(QFrame, QwtPlotDict):
600
589
  :py:meth:`qwt.scale_engine.QwtScaleEngine.divideScale()`
601
590
  """
602
591
  if self.axisValid(axisId):
603
- return self.axisWidget(axisId).maxMinor
592
+ return self.__axisData[axisId].maxMinor
604
593
  else:
605
594
  return 0
606
595
 
@@ -641,7 +630,7 @@ class QwtPlot(QFrame, QwtPlotDict):
641
630
  :py:meth:`qwt.scale_engine.QwtScaleEngine.divideScale()`
642
631
  """
643
632
  if self.axisValid(axisId):
644
- return self.axisWidget(axisId).stepSize
633
+ return self.__axisData[axisId].stepSize
645
634
  else:
646
635
  return 0
647
636
 
@@ -991,8 +980,8 @@ class QwtPlot(QFrame, QwtPlotDict):
991
980
  # Otherwise, when tick labels are large enough, the ticks
992
981
  # may not be aligned with canvas grid.
993
982
  # See the following issues for more details:
994
- # https://github.com/PierreRaybaut/guiqwt/issues/57
995
- # https://github.com/PierreRaybaut/PythonQwt/issues/30
983
+ # https://github.com/PlotPyStack/guiqwt/issues/57
984
+ # https://github.com/PlotPyStack/PythonQwt/issues/30
996
985
  startDist, endDist = scaleWidget.getBorderDistHint()
997
986
  scaleWidget.setBorderDist(startDist, endDist)
998
987