Skip to content

Releases: jagerber48/sciform

0.30.1

24 Nov 21:57
0efb387
Compare
Choose a tag to compare

0.30.1 (2023-11-24)

Fixed

  • Fixed Changelog.

0.30.0

24 Nov 21:04
601e212
Compare
Choose a tag to compare

0.30.0 (2023-11-24)

Changed

  • [BREAKING] Remove the FormatOptions class from the user interface. Now users configure Formatter instances by passing the formatting keyword arguments into the Formatter constructor directly. Global configuration via set_global_defaults() or the GlobalDefaultsContext is also done by passing formatting keywords directly. This change reduces the amount of boilerplate code and keystrokes needed to use sciform.
  • [BREAKING] Options such as exp_mode and exp_format were previously configured using Enum objects such as ExpMode or ExpFormat. Now these options are configured using string literals. This change also reduces the amount of boilerplate code and keystrokes needed to use sciform.
  • Clean up print_global_defaults output. This is the start of an effort to improve interface for getting and printing current format options.

Added

  • Added code of conduct.
  • Added contributing guidelines.
  • Added Python 3.12 to automated testing.

Fixed

  • Cleaned up API documentation.
  • Fixed a bug where the repr for FormatOptions would return a string containing information about the global format options rather than about the specific FormatOptions instance. [#75]
  • Fixed an issue that was causing Github actions code coverage report to not actually check code coverage. [#84]

Removed

  • [BREAKING] Removed the unicode_pm feature which allowed toggling between using '+/-' or '±' in value/uncertainty strings. Previously unicode_pm defaulted to False so that '+/-' was the default behavior. Now the default behavior is to use '±' and there is no way to change to the old '+/-' behavior. [#10]

0.29.1

23 Oct 05:58
5385f4a
Compare
Choose a tag to compare

0.29.1 (2023-10-22)

Fixed

  • Fixed a bug where bracket uncertainties erroneously appeared as empty parentheses for zero or non-finite uncertainties. [#66 ]
  • Fixed a bug where the exponent value was erroneously calculated from the uncertainty rather than the value when the value was negative (but larger in magnitude than the uncertainty). [#68 ]
  • Fixed a bug where certain leading digits were erroneously not stripped from the uncertainty when using bracket uncertainty with negative values. [#68]
  • Fixed a bug where the value was erroneously being rounded according to the PDG rounding rules when pdg_sig_figs=True, the uncertainty was zero or non-finite, and the value was positive. [#71]
  • Fixed a bug where a spurious error was raised when pdg_sig_figs=True, the uncertainty was zero or non-finite, and the value was zero or negative. [#65 ]

Changed

  • Replace -e . with . in requirements.txt. There is no need to install sciform in editable mode for code automation routines.

0.29.0

05 Sep 13:00
4bd00ee
Compare
Choose a tag to compare

0.29.0 (2023-09-05)

Changed

  • Previously, when using bracket_unc=True with any exponent string (such as e-06, μ or ppm), the value and uncertainty were always wrapped in parentheses, e.g. (1.03(25))e-06, (1.03(25)) μ or (1.03(25)) ppm. Now, when using bracket_unc=True with prefix or parts-per exponent format modes, if the exponent is replaced with an alphabetic replacement, then the value and uncertainty are no longer wrapped in parentheses, e.g. 1.03(25) μ and 1.03(25) ppm. This is consistent with BIPM Guide Section 7.2.2 <https://www.bipm.org/documents/20126/2071204/JCGM_100_2008_E.pdf/cb0ef43f-baa5-11cf-3f85-4dcd86f77bd6#page=37>_. Specifically, any time bracket_unc=False the value and uncertainty are always wrapped in parentheses, and any time notation like e+02 or b+02 is used to indicate the exponent then the value and uncertainty are always wrapped in parentheses.

Fixed

  • Correct fit_plot_with_sciform.py example script to use new exp_format=ExpFormat.PREFIX instead of old prefix_exp=True.

Improved

  • Documentation improvements including typos and neatening up changelog.

0.28.2

31 Aug 06:18
f8c1c28
Compare
Choose a tag to compare

0.28.2 (2023-08-31)

Improved

  • General wording and grammar improvements throughout documentation.
  • Include more usage examples in the examples documentation in addition to referring the reader to the test suite.

Fixed

  • Fixed a bug when using pdg_sig_figs with uncertainties larger than about 1000 by cleaning up Decimal math.
  • Previously, when formatting using the format specification mini-language, if the prefix exponent format flag was omitted then the exponent format was forced to ExpFormat.STANDARD rather than None. This meant that it was impossible, using the format specification mini-language combined with global configuration options, to set ExpFormat.PARTS_PER. Now when the prefix flag is omitted exp_format is set to None so that it will be populated by the global default option. In the future a flag may be added to select "parts-per" formatting using the format specification mini-language.

0.28.1

28 Aug 06:17
d058ef0
Compare
Choose a tag to compare
  • Make FormatOptions inputs Optional so that None inputs
    pass type checks.
  • Write format-specification mini-language documentation to refer to
    existing format options documentation to avoid documentation
    duplication.
  • Setup test coverage analysis automation and upload report to
    codecov <https://codecov.io/gh/jagerber48/sciform>_.
  • Add package status badges to readme.
  • Test against Python 3.11.
  • List supported Python versions in pyproject.toml classifiers.

0.28.0

27 Aug 13:06
a0dbb23
Compare
Choose a tag to compare
  • [BREAKING] Replace prefix_exp and parts_per_exp options
    with an exp_format option which can be configured to
    ExpFormat.STANDARD, ExpFormat.PREFIX or
    ExpFormat.PARTS_PER.
  • Previously formating a non-finite number in percent mode would always
    display a '%' symbol, e.g. '(nan)%'.
    Now the brackets and '%' symbol will be omitted unless
    nan_inf_exp=True.
  • In latex=True mode there is now a space between the number and a
    prefix or parts-per translated exponent.
    For value/uncertainty formatting the space is still absent.
    For latex=False there is still always a space for number and
    value/uncertainty formatting before the translated exponent string.
  • In latex=True mode 'nan' and 'inf' strings are now wrapped
    in '\text{}'.
  • Refactored code for resolving exponent strings.
  • Added more unit tests to reach 100% test coverage. Mostly added test
    cases for invalid internal inputs.
  • Raise NotImplementedError when attempting value/uncertainty
    formatting with binary exponent modes.
    Rounding and truncating are not properly implemented in binary mode
    yet.

0.27.4

25 Aug 21:52
5821323
Compare
Choose a tag to compare
  • Setup github action to automatically build and publish on release.

0.27.3

24 Aug 02:53
a6732a5
Compare
Choose a tag to compare
  • Added Unreleased section to changelog.
  • Removed version from source code. Project version is now derived from a git version tag using
    setuptools_scm.
  • Stopped encouraging import FormatOptions as Fo.

0.27.1

19 Aug 06:47
950df88
Compare
Choose a tag to compare
  • Add /examples/ folder to hold example scripts used in the
    documentation as well as the input data for these scripts and their
    outputs which appear in the documentation.
  • Remove extra readthedocs.yaml file.