SciMath Change Log

Release 5.0.0

This is a major release that is focused around code clean-up and modernization.

Much of the work was around removing deprecated and broken components, while updating code to remove usage of deprecated things from Python and ETS. In particular, this release drops support for Python versions 3.5 and earlier.

Additionally, the scimath.units.plugin sub-package has been removed: it was broken and removing it permitted a simplification of dependencies: we don’t require Envisage and its dependencies in this release.

Change summary since 4.2.0

Enhancements

  • move scimath.interpolate profiling script into its own module (#153)

  • remove unused convert_quantity_old (#139)

  • remove extraneous return statements (#129)

  • remove print statements (#127)

  • remove scimath.units.units_version (#121)

  • remove references to the cp package (#117)

  • update and clean-up headers (#116, #157)

  • use one setup.py file with setuptools Extension (#115)

  • clean up compile-time warnings (#114, #133, #152)

  • remove out-of-place examples (#110)

  • remove broken scimath.units.plugin subpackage (#109)

  • remove unneeded if __name__ == "__main__": blocks (#105)

  • remove support for Python 2 (#104, #113)

  • remove EOF comments from files (#102, #120)

  • remove use of deprecated Traits features (#93, #96)

Bugfixes

  • fix deprecated time.clock (#150)

  • fix hashing of units (#88)

Documentation:

  • add a read-the-docs config (#148)

  • remove out-dated TODO file (#137)

  • use Enthought sphinx theme (#126)

  • fix typos in documentation (#100)

Tests:

  • remove unneeded setUp and tearDown methods (#130)

  • use unittest discover instead of nose (#123)

  • make tests usable with unittest discover (#103, #125)

  • clean-up tests directories and files (#83, #108)

CI and Build:

  • automatically publish releases on PyPI (#154)

  • run CI on Python 3.8 (#151)

  • don’t report codecov on PRs (#138)

  • reconcile prerequisites (#134)

  • add a cron job to run against current ETS projects (#112)

  • use Github rather than Travis and Appveyor for CI (#111, #136, #144)

  • don’t run CI on older Python versions (#107)

  • CI updates and changes (#91, #97)

  • add MANIFEST.in file (#82, #92, #132)

  • add pyproject.toml with numpy as a build dependency (#78)

Release 4.2.0

Released : 06 February 2019

This minor release accumulates a large number of improvements, changes and bug fixes to the scimath codebase.

A few highlights of this release are :

  • Support for Python 3

  • Enhancements to time units and the addition new units.

  • Support for newer versions of Numpy

Change summary since 4.1.2

  • Change: Setup Travis and Appveyor CI (#71)

  • Change: Use PEP 440 compliant development version (#69)

  • Fix : Restore parsing of angular minutes and seconds (#66)

  • Feature : Enhancement of time units (#65)

  • Fix : Missing imports (#63)

  • Fix : Support newer versions of Numpy (#62)

  • Feature: Port to Python 3 (#50)

  • Converted the most-used traits to authentic TraitTypes. (#57)

  • Added __str__ methods on UnitScalar and UnitArray classes, to make it easier to see values with their unit (label) (#46).

  • Fix: Adding unit test for extending unit parser (#43)

  • Fix: Parser extend method throws a NameError when custom units are added to the parser. (#41)

  • Feature: added inHg unit for inches of mercury (#40)

  • Feature: added dimensionless “fract” unit (#38)

  • Feature: added units barn, rayl, barns_per_electron, US survey foot (#33)

  • Fix: 'None' was parsed into an invalid unit with None as its value. (#31)

  • Fix: UnitArray comparisons will return boolean arrays, like their unadorned ndarray counterpart. (#29)

  • Fix: raising a unitless UnitArray raised to a power. Thanks to @rupertnash for reporting and fixing the bug. (#5, #28)

  • Fix: Remove trivial (0.0) offsets from the string representation of units. (#27)

  • Fix: numpy change in how vectorize() keeps the original function. (#26)

  • Feature: Enhance the unit parser to parse all of the provided units, with or without offsets. (#25)

  • Fix: Correct the definition of PPG to be a density unit instead of a pressure gradient unit. Calculations using PPG as a pressure gradient unit can be recovered simply by multiplying the PPG quantity by g, the acceleration due to gravity. To precisely recover the exact values from the previous definition, use 0.0519 * psi_per_f / ppg for this value, which is not necessarily the best estimate for g. (#24)

  • Fix: Update to modern numpy C API to eliminate deprecation warnings (#22)

  • Fix: PEP whitespace cleanups (#20)

  • Fix: Address string literal deprecation warnings in _interpolate build, removing warnings during compilation (#19)