Releases: zwicker-group/py-pde
0.50.0
This release includes probably the biggest change of any of the releases so far: We introduced backends to separate the compilation-specific parts from the general structure of the package. This makes numba in principle an optional dependency of the package, and it will hopefully allow us to implement other backends in the future.
Since this major refactoring breaks some interfaces, we also used the opportunity to adjust some APIs. At the same time we removed support for Python 3.9.
What's Changed
- Introduced backends by @david-zwicker in #737
- Removed support for Python 3.9 by @david-zwicker in #738
Full Changelog: 0.48.0...0.50.0
0.48.0
This is the first version of the package that officially supports Python 3.14.
What's Changed
- Update workflow triggers to ignore README.md on push events by @david-zwicker in #728
- Enhance implementation check for numba and numpy compatibility by @david-zwicker in #729
- Add symmetric color scale support for plotting and enhance tests for vmin/vmax symmetrization by @david-zwicker in #730
- Add tests for ScalarExpression with signature and constants by @david-zwicker in #731
- Refactor key retrieval in various modules for consistency and clarity by @david-zwicker in #732
- Improve implementation of correlated noise fields by @david-zwicker in #733
- Formatted code using
ruffwith thepyflakesrules by @david-zwicker in #734 - Update Python version compatibility to include 3.14 in configuration … by @david-zwicker in #735
Full Changelog: 0.47.2...0.48.0
0.47.2
What's Changed
- Fix ScalarExpression and TensorExpression to support constants in differentiation and getitem by @david-zwicker in #727
Full Changelog: 0.47.1...0.47.2
0.47.1
What's Changed
- Refine data type annotation in DataFieldBase constructor to specify allowed string literals by @david-zwicker in #725
- Use more precise array types by @david-zwicker in #726
Full Changelog: 0.47.0...0.47.1
0.47.0
What's Changed
- Add docstring to
copymethod inDataFieldBaseclass by @david-zwicker in #717 - Enhance adaptive solver functionality and testing by @david-zwicker in #718
- Enhance plotting functionality in FieldCollection with flexible arrangement options and add corresponding tests by @david-zwicker in #720
- Refactor solver comparison example for improved readability and modularity; add flexible arrangement options for FieldCollection plots by @david-zwicker in #721
- Fix typos and improve docstring clarity across multiple files by @david-zwicker in #722
- Improve docstring clarity and add notes on variance behavior for correlation functions by @david-zwicker in #723
- Defined more precise array type by @david-zwicker in #724
Full Changelog: 0.46.0...0.47.0
0.46.0
What's Changed
- Add example for heterogeneous PDE using reaction-diffusion equation by @david-zwicker in #702
- Refactor code to adept to newest mypy (and other small changes) by @david-zwicker in #703
- Allow setting default backend for operators on Cartesian grids by @david-zwicker in #704
- Update backend parameter in Laplace, gradient, divergence, and vector… by @david-zwicker in #705
- Refactor type hints for fields in FieldBase and GridMesh classes by @david-zwicker in #706
- Add is_symmetric method and corresponding tests for Tensor2Field by @david-zwicker in #708
- Enhance ffmpeg import handling with warnings for incorrect package by @david-zwicker in #710
- Allow using the
transformationargument inPlotTracker. by @david-zwicker in #712 - Clarify title argument documentation in PlotTracker and LivePlotTracker by @david-zwicker in #713
- Remove multiple deprecated features by @david-zwicker in #714
- Added
sliceandprojectmethods toFieldCollectionby @david-zwicker in #716
Full Changelog: 0.45.0...0.46.0
0.45.0
What's Changed
- Fix documentation for user_funcs parameter in expression classes to clarify usage by @david-zwicker in #676
- Refactor dictionary creation to use dict.fromkeys for improved readability by @david-zwicker in #677
- Add custom error handling for ScipySolver integration failures by @david-zwicker in #679
- Fix t_start retrieval in TrackerBase and add tests for interrupt integration by @david-zwicker in #683
- Refine step calculation in SolverBase and enhance interrupt tests with additional parameters by @david-zwicker in #684
- Update np_irfftn call in make_colored_noise and refine exception handling in test_complex_dtype by @david-zwicker in #685
- Refine atol calculation in Controller and adjust tracker iteration condition for improved accuracy by @david-zwicker in #686
- Update package version retrieval to use importlib.metadata for accuracy by @david-zwicker in #687
- Add type ignore comments for shape property and complex number check by @david-zwicker in #688
- Improved type hints according to latest mypy by @david-zwicker in #689
- Refactor StorageBase constructor to require keyword-only arguments and improve error messages for grid loading and field attribute interpretation. by @david-zwicker in #690
- Enhance documentation for correlation functions in random field generation and deprecate old methods by @david-zwicker in #691
- Update multithreading configuration options in DEFAULT_CONFIG for clarity by @david-zwicker in #692
- Remove unnecessary type ignore comments for clarity in various files by @david-zwicker in #693
- Refactor examples and tests for correlated noise functionality; update documentation links and improve test coverage by @david-zwicker in #694
- Add finite differences example with derivative plots by @david-zwicker in #699
- Add tests for mixed derivatives in Cartesian and cylindrical grids by @david-zwicker in #700
Full Changelog: 0.44.0...0.45.0
0.44.0
This release adds the GeometricInterrupts class to provide logarithmically spaced time interrupts for trackers. We also improved multiple smaller aspects of the package and removed features that have been deprecated for more than a year.
What's Changed
- Rename workflow jobs for clarity and update pip installation command by @david-zwicker in #656
- Refactor code: remove deprecated interval parameter, clean up unused classes, and improve import statements by @david-zwicker in #657
- Enhance test script: add memory tracing with memray, update ignore rules, and clean up imports by @david-zwicker in #658
- Disable multithreading on HPC by default by @david-zwicker in #659
- Refactor boundary condition handling: update test cases and examples to use dictionary format for boundary conditions by @david-zwicker in #660
- Removed a number of deprecated methods by @david-zwicker in #661
- Update test coverage script to append reports and fixed a test by @david-zwicker in #663
- Enhance numba_dict function to accept additional keyword arguments and update documentation; refactor related code for consistency by @david-zwicker in #664
- Update numba_dict function to enforce positional-only parameters and add edge case test by @david-zwicker in #665
- Add new functions to documentation and enhance autosummary in multiple modules by @david-zwicker in #666
- Add GeometricInterrupts class and update documentation for interrupt classes by @david-zwicker in #667
- Add logarithmic kymograph example and enhance GeometricInterrupts parsing with validation by @david-zwicker in #668
- Fix typos and improve clarity in logarithmic kymograph example documentation by @david-zwicker in #669
- Enhance interrupt data handling by allowing integers in InterruptData type and updating parse_interrupt logic; remove unnecessary nbconvert skip in tests by @david-zwicker in #670
- Support Parameterized class from modelrunner in Sphinx documentation processing by @david-zwicker in #671
- Enhance expression parsing by adding complex number support and improving local variable handling in parse_expr_guarded; update tests for constant expressions to include complex cases. by @david-zwicker in #672
- Add pydot to requirements and update ignore rules in linter configuration by @david-zwicker in #673
Full Changelog: 0.43.0...0.44.0
0.43.0
Added support for python 3.13
What's Changed
- Add synonym support for axis names in boundary conditions and update tests by @david-zwicker in #645
- Add return type annotation for FieldCollection constructor by @david-zwicker in #647
- Refactor boundary index handling to improve clarity and support new index formats by @david-zwicker in #648
- Add corner weight parameter for 2D Laplacian and update performance script by @david-zwicker in #649
- Improve input shape validation in GridBase methods and update performance script documentation by @david-zwicker in #650
- Add ffmpeg version retrieval and update environment information by @david-zwicker in #651
- Fixed 9-point stencil in Cartesian coordinates by @david-zwicker in #652
- Update maximal Python version to 3.13 in workflows and configuration files by @david-zwicker in #653
Full Changelog: 0.42.2...0.43.0
0.42.2
What's Changed
- Fix description of heterogeneous BC example by @david-zwicker in #636
- Fix figure retrieval in BasicPlottingContext for root figures by @david-zwicker in #637
- Fix typos in comments and add tests for vector_to_cartesian function by @david-zwicker in #638
- Improve string representations in various files by @david-zwicker in #640
- Update boundary conditions format in PDE tutorial notebook by @david-zwicker in #641
- Update py-modelrunner version to 0.18.3 in requirements files and scripts by @david-zwicker in #642
- Handle special case for identical boundary conditions in get_boundary_axis function and add corresponding test by @david-zwicker in #644
Full Changelog: 0.42.1...0.42.2