Releases: jagerber48/sciform
Releases · jagerber48/sciform
0.30.1
0.30.1 (2023-11-24)
Fixed
- Fixed Changelog.
0.30.0
0.30.0 (2023-11-24)
Changed
- [BREAKING] Remove the
FormatOptions
class from the user interface. Now users configureFormatter
instances by passing the formatting keyword arguments into theFormatter
constructor directly. Global configuration viaset_global_defaults()
or theGlobalDefaultsContext
is also done by passing formatting keywords directly. This change reduces the amount of boilerplate code and keystrokes needed to usesciform
. - [BREAKING] Options such as
exp_mode
andexp_format
were previously configured usingEnum
objects such asExpMode
orExpFormat
. Now these options are configured using string literals. This change also reduces the amount of boilerplate code and keystrokes needed to usesciform
. - 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
forFormatOptions
would return a string containing information about the global format options rather than about the specificFormatOptions
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. Previouslyunicode_pm
defaulted toFalse
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
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.
inrequirements.txt
. There is no need to installsciform
in editable mode for code automation routines.
0.29.0
0.29.0 (2023-09-05)
Changed
- Previously, when using
bracket_unc=True
with any exponent string (such ase-06
,μ
orppm
), 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 usingbracket_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) μ
and1.03(25) ppm
. This is consistent withBIPM 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 timebracket_unc=False
the value and uncertainty are always wrapped in parentheses, and any time notation likee+02
orb+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 newexp_format=ExpFormat.PREFIX
instead of oldprefix_exp=True
.
Improved
- Documentation improvements including typos and neatening up changelog.
0.28.2
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 upDecimal
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 thanNone
. This meant that it was impossible, using the format specification mini-language combined with global configuration options, to setExpFormat.PARTS_PER
. Now when the prefix flag is omittedexp_format
is set toNone
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
- Make
FormatOptions
inputsOptional
so thatNone
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
- [BREAKING] Replace
prefix_exp
andparts_per_exp
options
with anexp_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.
Forlatex=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
- Setup github action to automatically build and publish on release.
0.27.3
- 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
- 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.