Recent Releases of humanleague

humanleague -

  • fixes a bug in IPF where fractional marginals were inadvertently rounded down, producing incorrect results. This bug was introduced in 2.4.0 and only affected the python version.

Scientific Software - Peer-reviewed - C++
Published by virgesmith 9 months ago

humanleague - v2.4.0

New functionality

Please note ongoing development is now for the python version only. R development is currently maintenance-only due to resource constraints.

  • introduces the tabulate_counts and tabulate_individuals functions.

    • tabulate_counts: converts a multidimensional integer array to a pandas Series of state counts, indexed by the original array index
    • tabulate_individuals: converts a multidimensional integer state count array to a pandas DataFrame, with each row corresponding to an individual in the population.
  • deprecates flatten. The tabulate_individuals function provides similar (but improved) functionality. To replicate the original behaviour use: ```py import humanleague as hl ...

    p is an n-d array produced by (e.g.) QISI

    equivalent to hl.flatten(p):

    flattenresult = hl.tabulateindividuals(p).to_numpy().T.tolist() ```

  • The indices and marginals inputs to the ipf, qis and qisi functions are now iterables. This effectively means they can now be tuple or even np.array types, where previously they had to be list.

  • for 1-dimensional marginals, indices can now be represented as a scalar, where previously a length-1 array (or tuple) was required: ```py

    previously:

    result, stats = hl.qis([(0,), (1,)], [m0, m1])

    now simpler:

    result, stats = hl.qis((0, 1), (m0, m1))

    or even

    result, stats = hl.qis(range(3), (m0, m1, m2)) ```

Scientific Software - Peer-reviewed - C++
Published by virgesmith 10 months ago

humanleague - v2.3.2

Improve marginal validation for low totals (e.g. probabilities) Update CI

Scientific Software - Peer-reviewed - C++
Published by virgesmith over 1 year ago

humanleague - 2.3.1

Maintenance release, no functional changes.

  • Minor updates for R packaging
  • Updates to CI

Scientific Software - Peer-reviewed - C++
Published by virgesmith almost 2 years ago

humanleague - 2.3.0

New features (python only)

  • most function outputs have changed to return a tuple of the main result and a dictionary containing the stats (if applicable), rather than a dictionary containing everything. For example, a return value that was previously:

py {"result": r, "conv": ..., "rmse": ...}

now becomes

py (r, {"conv": ..., "rmse": ...})

making it easier to access the result, e.g.:

py result, stats = humanleague.integerise(p, n)

Removed features (python only)

  • Remove deprecated sobolSequence function, in favour of the the SobolSequence generator introduced in 2.2.0
  • conda-forge releases are no longer supported. Conda users should use pip to install the package.

Bug fixes

  • fixed some documentation issues

Internal

  • CI improvements: automated release pipeline PRs to main are automatically version bumped and published on pypi

Scientific Software - Peer-reviewed - C++
Published by virgesmith over 2 years ago

humanleague - v2.2.0

New features

  • deprecate sobolSequence function (python only), in favour of...
  • add a SobolSequence generator for more flexibility (python only). You can replace code where you have to specify the length of the sequence upfront, and store the entire sequence in memory, like

py dim = 3 length = 5 s = sobolSequence(dim, s) # returns 5 3-d points in the sequence

with

py s = SobolSequence(dim) while some_condition: v = next(s) # returns the next 3-d point in the sequence

which is more flexible and can drastically reduce memory requirements.

Bug fixes

  • Sobol sequence skip functionality now working as documented (previously was skipping twice as many values as it said it was)

Full Changelog: https://github.com/virgesmith/humanleague/compare/2.1.11...2.2.0

Scientific Software - Peer-reviewed - C++
Published by virgesmith almost 3 years ago

humanleague - v2.1.11

maintenance release only, no functional change

  • fix some compiler warnings
  • move R CI from appveyor to github

Scientific Software - Peer-reviewed - C++
Published by virgesmith about 3 years ago

humanleague - v2.1.10 maintenance release

python release only, no functional change

  • adds type annotations
  • delete unused files from repo

Scientific Software - Peer-reviewed - C++
Published by virgesmith almost 4 years ago

humanleague - v2.1.9: maintenance release

python release only, no functional change

  • fixes an issue with pinned numpy dependency version
  • migrate some CI builds to github workflows
  • add code coverage
  • improve python build system

Scientific Software - Peer-reviewed - C++
Published by virgesmith over 4 years ago

humanleague - v.2.1.8

2.1.8 maintenance release

no functional change

  • migrates CI from travis to appveyor
  • pre-emptive fix for compile error with upcoming gcc-11 release due 21Q2
  • R packaging fixes
  • minor documentation updates

Scientific Software - Peer-reviewed - C++
Published by virgesmith about 5 years ago

humanleague - v2.1.7

This release purely addresses a build configuration issue with conda-forge. Functionally identical to 2.1.5

Scientific Software - Peer-reviewed - C++
Published by virgesmith over 5 years ago

humanleague - v2.1.5

Python-only release, no functional change:

  • use pybind11 rather than the C python API
  • improve API documentation

Scientific Software - Peer-reviewed - C++
Published by virgesmith over 5 years ago

humanleague - v2.1.2

R-only release, no functional change - update maintainer info for R package - fix compiler warnings

Scientific Software - Peer-reviewed - C++
Published by virgesmith about 6 years ago

humanleague - v2.1.1

Various tweaks to documentation/build scripts to appease CRAN and conda-forge

Scientific Software - Peer-reviewed - C++
Published by virgesmith about 7 years ago

humanleague - v2.1.0

  • multidimensional integerisation
  • remove synthPop function, use qis instead
  • remove synthPopG function, use qisi instead

Scientific Software - Peer-reviewed - C++
Published by virgesmith about 7 years ago

humanleague - v2.0.5

Fix in setup.py for windows paths

Scientific Software - Peer-reviewed - C++
Published by virgesmith about 7 years ago

humanleague - v2.0.4

extra consistency checks on seed/marginal dims attempt to get MSVC compilation working for conda-forge

Scientific Software - Peer-reviewed - C++
Published by virgesmith about 7 years ago

humanleague - PyPI package

Changes for PyPI package NB this tag/release corresponds to the 2.0.3 PyPI release (not tag 2.0.3)

Scientific Software - Peer-reviewed - C++
Published by virgesmith over 7 years ago

humanleague - JOSS

Fixes for: - JOSS submission

Scientific Software - Peer-reviewed - C++
Published by virgesmith over 7 years ago

humanleague - 2.0.2

CRAN accepted

Scientific Software - Peer-reviewed - C++
Published by virgesmith about 8 years ago

humanleague - Updated release for rOpenSci

Scientific Software - Peer-reviewed - C++
Published by virgesmith about 8 years ago

humanleague - Initial version for rOpenSci

Scientific Software - Peer-reviewed - C++
Published by virgesmith about 8 years ago

humanleague - v1.0.1

Fixed release numbers in python and R packages

Scientific Software - Peer-reviewed - C++
Published by virgesmith over 8 years ago