Skip to content

Commit

Permalink
Doc: added "motivation" page
Browse files Browse the repository at this point in the history
  • Loading branch information
PierreRaybaut committed Oct 31, 2023
1 parent 72dd74c commit c7ffb04
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 0 deletions.
1 change: 1 addition & 0 deletions doc/intro/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Getting started
:caption: Contents:

overview
motivation
installation
examples
licenses
51 changes: 51 additions & 0 deletions doc/intro/motivation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
.. _motivation:

Motivation
==========

What are PlotPy V2 advantages over PlotPy V1?
---------------------------------------------

From a developer point of view, PlotPy V2 is a major overhaul of PlotPy V1:

* Architecture has been redesigned to be more modular and extensible, and more simple.
* Code quality has been improved introducing `black`, `isort` and typing annotations
all over the codebase

.. note::
PlotPy V2 is fully typed using Python 3.8+ type annotations.
This means that you can use your IDE to get autocompletion and type checking
(e.g. with VSCode, Visual Studio, etc.).
This is a major improvement when you write code using PlotPy V2:
you can rely on the type annotations to understand what a function does
and what it returns, and your IDE can help you a lot with autocompletion
and type checking.

To sum up, PlotPy V2 is a more modern and more maintainable codebase that will
allow developers to create plotting applications even more easily than before.

From an end-user point of view, PlotPy V2 is also a significant improvement over
PlotPy V1:

* PlotPy V2 is more stable and more robust thanks to the new `pytest`-based
automated test suite, with a 70% code coverage.

* PlotPy V2 benefits from the backport of many bug fixes and improvements
that were made in the guiqwt codebase since PlotPy V1 was released (i.e. from
2016 to 2023).

* PlotPy V2 provides tons of new features (e.g. alpha function for better transparency
control, refined contour plots, synchronized multiple plots, selection dialog boxes,
SVG-based shapes, JSON de/serialization of plot items, new simple way to create
plotting widgets with `PlotBuilder`, etc.)

* PlotPy V2 will be maintained and improved in the future, while PlotPy V1 is not
maintained anymore. Some significant improvements are already planned for the
next releases (e.g. enhanced color maps, new plot items, etc.)

What are PlotPy V2 advantages over guiqwt?
------------------------------------------

Except from the backporting of bug fixes and improvements that were made in the
guiqwt codebase since PlotPy V1 was released (i.e. from 2016 to 2023), PlotPy V2
provides the same advantages over guiqwt as PlotPy V1: see previous section.

0 comments on commit c7ffb04

Please sign in to comment.