Skip to content

Refactor

Compare
Choose a tag to compare
@prisae prisae released this 05 May 09:54
a6d4b00

Grand refactor with new internal layout. Mainly splitting-up utils into
smaller bits. Most functionalities (old names) are currently retained in
utils and it should be mostly backwards compatible for now, but they are
deprecated and will eventually be removed. Some previously deprecated functions
were removed, however.

  • Removed deprecated functions:

    • emg3d.solver.solver (use emg3d.solver.solve instead).
    • Aliases of emg3d.io.data_write and emg3d.io.data_read in emg3d.utils.
  • Changes:

    • SourceField has now the same signature as Field (this might break your
      code if you called SourceField directly, with positional arguments, and
      not through get_source_field).

    • More functions and classes in the top namespace.

    • Replaced core.l2norm with scipy.linalg.norm, as SciPy 1.4 got the
      following PR: scipy/scipy#10397 (reason to raise
      minimum SciPy to 1.4).

    • Increased minimum required versions of dependencies to

      • scipy>=1.4.0 (raised from 1.1, see note above)
      • empymod>=2.0.0 (no min requirement before)
      • numba>=0.45.0 (raised from 0.40)
  • New layout

    • njitted -> core.
    • utils split in fields, meshes, models, maps, and utils.
  • Bugfixes:

    • Fixed to_dict, from_dict, and copy for the SourceField.
    • Fixed io for SourceField, that was not implemented properly.