v0.5 ---- 2022-10-22 This is the last version with python 2 support. Changes in setuptools (see for example python [PEP 517](https://peps.python.org/pep-0517/) and [PEP 660](https://peps.python.org/pep-0660/) ) require changes in the setup. Backward compatibility will therefore be dropped. Current tests already do not inlcude python2 anymore. **Highlights** * Parallelized implementation of `Field.map_coordinates` * Added support for reading files written by the fbpic v0.13.0 code ( https://github.com/fbpic ). The fields can be accessed by `Er` and `Etheta`, which have been introduced to the fbpic data reader. Particles are saved in Cartesian coordinates, hence the interface does not change there. * Reimplementation of `Field.fft`, see below. **Incompatible adjustments to previous version** * Reimplementation of `Field.fft`. This changes the phases of Fourier transforms in a way to make it more consistent. However, if your code depends on the phases, `Field.fft()` now has a parameter `old_behaviour` that can be used to switch back to the old behaviour. * Indexing a field by a number (integer or float) will now remove the according axis altogether, instead of leaving behind a length-1 axis. A new class `KeepDim` was introduced through which the old behaviour can still be used. Behaviour of PostPic before this change: ``` field.shape == (x,y,z) field[:, 0.0, :].shape == (x,1,z) ``` Using the new class `KeepDim`, it is possible to retain that behaviour in the new version: ``` field.shape == (x,y,z) field[:, 0.0, :].shape == (x, z) field[:, KeepDim(0.0), :].shape == (x,1,z) ``` **Other improvements and new features** * New convenience method `Field.copy`