- Improved performance of the Rust streamtracing algorithm, so it is now close to or faster than the old FORTRAN version.
- Wheels for Python 3.12 are now built and published on PyPI.
- Rust code is now parallelized and while still not as fast as the old FORTRAN version, is near parity.
streamtracer now includes wheels for Python 3.11, and these have now been uploaded to PyPI as a release (version 2.0.0 was only ever uploaded as an alpha).
streamtracer is now available on conda-forge.
streamtracer still does not work in parallel, if you require parallel stream tracing then for now either:
- Downgrade to version 1.2.0
- Manually run several instances of the streamtracer in parallel
- The low level streamline tracing code has been ported from FORTRAN to Rust. This has several benefits on the development side, and from a user perspective brings the first built wheels for Windows 🪟🎉 The new code is not yet parallelized, so when tracing multiple streamlines on multiple cores runs slower than version 1. Version 2.1 (hopefully coming soon!) should implement parallel line tracing.
- The minimum supported Python version is now 3.8.
- Added the ability to trace field lines through non-uniformly spaced grids.
To do this pass a list of grid coordinates to the new
grid_coords
argument in -streamtracer.Grid.
- Fixed coordinate values returned by streamtracer.Grid.xcoords etc. Previously the origin coordinate was interpreted negative what it should be. This doesn't affect any traced streamlines.
- Fixed the example code listed above.
- Fixed wheel building to use the oldest supported version of numpy for each major version of python. This fixes errors like "module compiled against API version 0xe but this version of numpy is 0xd" that were in the 1.1.0 wheels.
- Fixed handling of steps going out of bounds. Previously, in the forward direction a single step would be saved out of bounds, but in the backwards direction the streamline ended before going out of bounds. Now both the forward and negative directions both save a single out of bounds step in each stream line.
- Linux and macOS binary distributions (wheels) are now automatically built and uploaded, meaning you should no longer need a FORTRAN compiler installed locally to use streamtracer.
- Minor performance and memory improvements have been made.
- Fix compilation issues on MacOS Big Sur.
- Nothing major, just re-versioning to a stable release number.
- Make sure to install numpy before trying to install streamtracer.
- Added validation for the
max_steps
argument to :class:`-streamtracer.StreamTracer`.
- First streamtracer release.