We present an open source python based ray tracing tool that offers several useful features in graphical presentation,
material properties, advanced calculations of synchrotron sources, implementation of diffractive and refractive elements,
complex (also closed) surfaces and multiprocessing. The package has many usage examples which are supplied together
with the code and visualized on its web page.
We exemplify the present version by modeling (i) a curved crystal analyzer, (ii) a quarter wave plate, (iii) Bragg-Fresnel
optics and (iv) multiple reflective and non-sequential optics (polycapillary). The present version implements the use of
OpenCL framework that executes calculations on both CPUs and GPUs. Currently, the calculations of an undulator
source on a GPU show a gain of about two orders of magnitude in computing time.
The development version is successful in modelling the wavefront propagation. Two examples of diffraction on a plane
mirror and a plane blazed grating are given for a beam with a finite energy band.