|
| 1 | +.. _motivation: |
| 2 | + |
| 3 | +Motivation |
| 4 | +========== |
| 5 | + |
| 6 | +What are PlotPy V2 advantages over PlotPy V1? |
| 7 | +--------------------------------------------- |
| 8 | + |
| 9 | +From a developer point of view, PlotPy V2 is a major overhaul of PlotPy V1: |
| 10 | + |
| 11 | +* Architecture has been redesigned to be more modular and extensible, and more simple. |
| 12 | +* Code quality has been improved introducing `black`, `isort` and typing annotations |
| 13 | + all over the codebase |
| 14 | + |
| 15 | +.. note:: |
| 16 | + PlotPy V2 is fully typed using Python 3.8+ type annotations. |
| 17 | + This means that you can use your IDE to get autocompletion and type checking |
| 18 | + (e.g. with VSCode, Visual Studio, etc.). |
| 19 | + This is a major improvement when you write code using PlotPy V2: |
| 20 | + you can rely on the type annotations to understand what a function does |
| 21 | + and what it returns, and your IDE can help you a lot with autocompletion |
| 22 | + and type checking. |
| 23 | + |
| 24 | +To sum up, PlotPy V2 is a more modern and more maintainable codebase that will |
| 25 | +allow developers to create plotting applications even more easily than before. |
| 26 | + |
| 27 | +From an end-user point of view, PlotPy V2 is also a significant improvement over |
| 28 | +PlotPy V1: |
| 29 | + |
| 30 | +* PlotPy V2 is more stable and more robust thanks to the new `pytest`-based |
| 31 | + automated test suite, with a 70% code coverage. |
| 32 | + |
| 33 | +* PlotPy V2 benefits from the backport of many bug fixes and improvements |
| 34 | + that were made in the guiqwt codebase since PlotPy V1 was released (i.e. from |
| 35 | + 2016 to 2023). |
| 36 | + |
| 37 | +* PlotPy V2 provides tons of new features (e.g. alpha function for better transparency |
| 38 | + control, refined contour plots, synchronized multiple plots, selection dialog boxes, |
| 39 | + SVG-based shapes, JSON de/serialization of plot items, new simple way to create |
| 40 | + plotting widgets with `PlotBuilder`, etc.) |
| 41 | + |
| 42 | +* PlotPy V2 will be maintained and improved in the future, while PlotPy V1 is not |
| 43 | + maintained anymore. Some significant improvements are already planned for the |
| 44 | + next releases (e.g. enhanced color maps, new plot items, etc.) |
| 45 | + |
| 46 | +What are PlotPy V2 advantages over guiqwt? |
| 47 | +------------------------------------------ |
| 48 | + |
| 49 | +Except from the backporting of bug fixes and improvements that were made in the |
| 50 | +guiqwt codebase since PlotPy V1 was released (i.e. from 2016 to 2023), PlotPy V2 |
| 51 | +provides the same advantages over guiqwt as PlotPy V1: see previous section. |
0 commit comments