Python-xy.GitHub.io by python-xy
Python(x,y) is a free scientific and engineering development software for numerical computations, data analysis and data visualization based on Python programming language, Qt graphical user interfaces and Spyder interactive scientific development environment.
With Python(x,y), one can do:
- interactive calculations including for example 2D and 3D plotting or symbolic maths,
- simple functionnal programming (with MATLAB-like syntax) as well as powerful object-oriented programming,
- scientific projects development from the simplest script to the most sophisticated application thanks to Qt development framework and Spyder development environment,
- parallel computing on multicore/processors computers or even clusters (with Parallel Python),
What is exactly Python(x,y)?
Python(x,y) is a scientific-oriented Python Distribution based on Qt and Spyder - see the Plugins page. Its purpose is to help scientific programmers used to interpreted languages (such as MATLAB or IDL) or compiled languages (C/C++ or Fortran) to switch to Python. C/C++ or Fortran programmers should appreciate to reuse their code "as is" by wrapping it so it can be called directly from Python scripts.
(MATLAB® is a registered trademark of The MathWorks. IDL® is a registered trademark of ITT Visual Information Solutions.)
Main features
Python(x,y) has five main features:
- collecting scientific-oriented Python libraries and development environment tools ;
- collecting almost all free related documentation ;
- providing a quick guide to get started in Python / Qt / Spyder ;
- providing an all-in-one setup program, so the user can install or uninstall all these packages and features by clicking on one button only.
Why Python?
In many ways, Python is far more superior to other scientific languages: it's a general-purpose language (e.g. with powerful GUI, I/O, internet, and database libraries), it's free and open-source, fundamentally object-oriented, very portable, extensible and embeddable, and so on. However, Python libraries generally suffer from a lack of documentation, even if the growing community contributes everyday with detailed tutorials on many topics.
Why a Python distribution for scientists?
Because testing all libraries, choosing the right one for the right usage, and grabbing all the free documentation on the internet takes time. Moreover, one needs some perspective to elaborate its own coherent development framework (i.e. Python libraries and development environment).
Python(x,y) was created for :
- rapid prototyping, using the enhanced Python shell known as IPython ;
- small/big projects (application-like) development, using Spyder - a powerful and interactive cross-platform Integrated Development Environment (IDE) ;
- scientific purpose: scientific computing, numerical simulations, signal processing, image processing, physics (experiments and modeling), engineering, ...
Why Qt?
We strongly recommend using PyQt for Graphical User Interface (GUI) development, since it is a very powerful and easy-to-use library – Mark Summerfield’s book is the best way to get started with PyQt (it is also a very good, very effective introduction to the Python language). For scientific programs, note that matplotlib figures (mainly 2D graphics) can be embedded in PyQt applications window, almost as easily as in MATLAB.
History
Python(x, y) was concieved, developed and maintained by Pierre Raybaut since 2008 with the above goals. Gabi Davar joined the project as a maintainer since 2011. Pierre moved to work on other projects since 2013 leaving Gabi as the primary maintainer.
Pierre Raybaut
March 2008
Gabi Davar
November 2015