From a06cd2c60e1cbb0c5e97e8b763e420a37ebe1b82 Mon Sep 17 00:00:00 2001 From: Kyle Conroy Date: Sun, 31 Mar 2024 20:24:13 -0400 Subject: [PATCH] 2.4.13 bugfix release (#838) * Import from within source tree overly restrictive (#819) In order to avoid same-name module conflicts with the system module (such as io.py), phoebe shouldn't be imported from its own source tree. The original test eliminated the entire package tree, including all auxiliary directories, which is overly restrictive and it prevented pytest from running when phoebe was installed with `pip -e`. This PR fixes that by blocking imports from the root directory and from the root/phoebe tree (the actual sources). Closes #806. * update tests for changes to pytest (#820) * Fixing up all pytests The new pytest version raises an error instead of warning when tests return a value, and when assert is used incorrectly. All tests have been touched up to not have issues with the latest pytest. * Update f-string to be compatible with python 3.7 f-string format f'{var=}' has been introduced in python 3.8, and it caused the 3.7 tests to fail. This fixes that issue. --------- Co-authored-by: Andrej Prsa * Dynamical RVs now avoid meshing (#823) * Dynamical RVs now avoid meshing Calling b.compute_pblums() built the mesh and treated dynamical RVs as mesh-dependent. This fixes that for both run_compute() and for direct compute_pblums(), compute_l3(), and compute_ld_coeffs bundle methods. A new function, b._datasets_that_require_meshing(), filters datasets that require a mesh, i.e. 'lc', 'lp' and flux-weighted 'rv'. Closes #812. * Generalized dataset filtering with b._datasets_where() * Adding backend exception to mesh computation Even if phoebe backend didn't need meshes for a particular dataset, other backends do. This is now handled in the `_datasets_where()` function. --------- Co-authored-by: Kyle Conroy * run_checks_compute() bugfix (#837) * run_checks_compute() bugfix The run_checks_compute() function included the internal "_default" compute parameter set in checking the ck2004 model atmosphere table existence in the passband files. This caused the checks to fail even if ck2004 was never needed. * Incorporating @kecnry's comments into the PR (along with additional comments) * Fixing the if statement per @kecnry's instructions. * Fix treatment of distance for alternate backends (#832) * regression test * don't duplicate distance handling for alt backends * temporarily skip jktebop * use top-level default_binary in test * version and changelog for 2.4.13 release * update setup-python to v5 to avoid deprecation warning --------- Co-authored-by: Andrej Prsa Co-authored-by: Andrej Prsa --- tests/tests/test_legacy_parser/test_legacy_export_import.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/tests/test_legacy_parser/test_legacy_export_import.py b/tests/tests/test_legacy_parser/test_legacy_export_import.py index ac8a6f231..b14c3fce3 100644 --- a/tests/tests/test_legacy_parser/test_legacy_export_import.py +++ b/tests/tests/test_legacy_parser/test_legacy_export_import.py @@ -1,4 +1,4 @@ -import phoebe as phb2 +import phoebe import numpy as np @@ -10,7 +10,7 @@ def test_reimport(filename=None): b.add_compute(kind='legacy') b.export_legacy('test.legacy') - b2 = phb2.from_legacy('test.legacy') + b2 = phoebe.from_legacy('test.legacy') # check to see if datasets are attached and the right number Nlcs = len(b.get_dataset(kind='lc').datasets)