Recent Releases of https://github.com/douglasdavis/pygram11

https://github.com/douglasdavis/pygram11 - 0.13.3

  • Mainly dusting off GitHub actions workflows
  • Update pybind11 to 3.0.1 and mp11 to boost 1.88 release

- Python
Published by douglasdavis 6 months ago

https://github.com/douglasdavis/pygram11 - 0.13.2

  • Use scikit-build-core for packaging system
  • Bump mp11 version

- Python
Published by douglasdavis about 3 years ago

https://github.com/douglasdavis/pygram11 - 0.13.1

  • Add support for Windows

- Python
Published by douglasdavis over 3 years ago

https://github.com/douglasdavis/pygram11 - 0.13.0

  • Project now uses scikit-build

- Python
Published by douglasdavis over 3 years ago

https://github.com/douglasdavis/pygram11 - 0.12.2

  • Bug fix: variance calculation for weighted histograms with density=True.
  • Bump pygram11 and boost/mp11

- Python
Published by douglasdavis almost 4 years ago

https://github.com/douglasdavis/pygram11 - 0.12.1

  • Bump pybind11 to 2.8.0
  • Add wheels for Python 3.10
  • Drop support for Python 3.6

- Python
Published by douglasdavis over 4 years ago

https://github.com/douglasdavis/pygram11 - 0.12.0

  • OpenMP configuration redesigned.
    • constants have been removed in favor of new pygram11.config module.
    • Decorators and context managers added to control toggling OpenMP thresholds
    • pygram11.without_omp decorator
    • pygram11.with_omp decorator
    • pygram11.disable_omp context manager
    • pygram11.force_omp context manager
    • See the documentation for more
  • New keyword argument added to histogramming functions (cons_var) for returning variance instead of standard error.

- Python
Published by douglasdavis almost 5 years ago

https://github.com/douglasdavis/pygram11 - 0.11.2

Renamed internal Python files hist.py and misc.py to _hist.py and _misc.py, respectively.

The contents of these modules are brought in to the main pygram11 module namespace by imports in __init__.py (the submodules themselves are not meant to be part of the public API). This avoids tab completions of pygram11.hi<tab> yielding pygram11.hist when we actually want pygram11.histogram.

- Python
Published by douglasdavis about 5 years ago

https://github.com/douglasdavis/pygram11 - 0.11.1

Two convenience functions added to the pygram11 namespace: - bin_centers: returns an array representing the the center of histogram bins given a total number of bins and an axis range or given existing bin edges. - bin_edges: returns an array representing bin edges given a total number of bins and an axis range.

- Python
Published by douglasdavis about 5 years ago

https://github.com/douglasdavis/pygram11 - 0.11.0

  • API change: functions calls with weights=None now return None as the second return. Previously the uncertainty was returned (which is just the square-root of the bin heights); now users can take the square-root themselves, and the back-end does not waste cycles tracking the uncertainty since it's trivial for unweighted histograms.
  • More types are supported without conversions (previously np.float64 and np.float32 were the only supported array types, and we converted non-floating point input). Now signed and unsigned integer inputs (both 64 and 32 bit) are supported.
    • If unsupported array types are used TypeError is now raised. This library prioritizes performance; hidden performance hits are explicitly avoided.
  • Configurable thresholds have been introduced to configure when OpenMP acceleration is used (described in the documentation).
  • The back-end was refactored with some help from boost::mp11 to aid in adding more type support without introducing more boilerplate. We now vendor boost::mp11 as a submodule.
  • Bumped the vendored pybind11 submodule to v2.6.2.
  • C++14 now required to build from source.
  • Added Apple Silicon support for Python 3.9 with libomp from Homebrew installed at /opt/homebrew.
  • Documentation improvements
  • Renamed master branch to main.

- Python
Published by douglasdavis about 5 years ago

https://github.com/douglasdavis/pygram11 - 0.11.0rc1

First release candidate for 0.11.0

- Python
Published by douglasdavis about 5 years ago

https://github.com/douglasdavis/pygram11 - 0.10.3

  • Fix GitHub action to make sure pybind11 submodule is checked out for source distribution creation.

- Python
Published by douglasdavis over 5 years ago

https://github.com/douglasdavis/pygram11 - 0.10.2

  • Vendor pybind11 2.6 series.
  • Some changes to backend types (std::size_t -> pybind11::ssize_t for sizes) (https://github.com/pybind/pybind11/pull/2293)
  • Improvements to CI/CD: using cibuildwheel to build wheels.
  • Python 3.9 is now tested and compatible wheels are built.

- Python
Published by douglasdavis over 5 years ago

https://github.com/douglasdavis/pygram11 - 0.10.2rc1

Test new release triggering wheel builds.

- Python
Published by douglasdavis over 5 years ago

https://github.com/douglasdavis/pygram11 - 0.10.1

  • Fix setup.py for building binaries for conda-forge.
  • Bump NumPy requirement to >=1.16 (see NEP 29)

- Python
Published by douglasdavis over 5 years ago

https://github.com/douglasdavis/pygram11 - 0.10.0

Renamed internal Python module from histogram to hist. This avoids a clash with the module function of the same name. Some IDE features were confused.

- Python
Published by douglasdavis over 5 years ago

https://github.com/douglasdavis/pygram11 - 0.9.1

Fixes issue with MANIFEST.in (a header was missing) to build from source.

- Python
Published by douglasdavis almost 6 years ago

https://github.com/douglasdavis/pygram11 - 0.9.0

  • Repository reorganized to use PEP 517
  • Python API moved outside of __init__.py to histogram.py, functions are imported in __init__.py

- Python
Published by douglasdavis almost 6 years ago

https://github.com/douglasdavis/pygram11 - 0.8.2

  • Remove requirement on specific NumPy version (it's not required to build, only to use).
  • Large improvements to documentation.

- Python
Published by douglasdavis almost 6 years ago

https://github.com/douglasdavis/pygram11 - 0.8.1

  • Bump the bundled pybind11 version to 2.5.0.
  • Renamed some backend files.

- Python
Published by douglasdavis almost 6 years ago

https://github.com/douglasdavis/pygram11 - 0.8.0

Public API changes: - Remove previously deprecated omp function argument

Backend changed: - moved 1D backend back to pybind11 (template flexibility) - parallelization cutoffs consistently at array size of 5000 for all calculations - all non-floating point inputs are converted

Other: - Improved tests

- Python
Published by douglasdavis about 6 years ago

https://github.com/douglasdavis/pygram11 - 0.7.3

  • Improvements to the 2D backend calculations
  • Added array size thresholds for handing off to serialized fill methods

- Python
Published by douglasdavis about 6 years ago

https://github.com/douglasdavis/pygram11 - 0.7.2

No real changes; minor release to fix conda-forge build on macOS

- Python
Published by douglasdavis about 6 years ago

https://github.com/douglasdavis/pygram11 - 0.7.1

No real changes; minor release to fix MANIFEST.in for conda-forge builds.

- Python
Published by douglasdavis about 6 years ago

https://github.com/douglasdavis/pygram11 - 0.7.0

  • OpenMP is now required to build from source (not a difficult dependency to satisfy)
    • omp function argument deprecated
    • omp_max_threads renamed to omp_get_max_threads to mirror OpenMP C API
    • omp_available function removed
  • Backend C++ code for 1D histograms rewritten (use Python and NumPy C APIs directly, no pybind11), more types supported (avoid conversions)
  • Rewrite multiweight histograms (still via pybind11) to support more types (avoid conversions)
  • Python code moved to the top level module (__init__.py) (without changing public API)

- Python
Published by douglasdavis about 6 years ago

https://github.com/douglasdavis/pygram11 - 0.6.1

  • OpenMP inspection improved; new functions replace pygram11.OPENMP:
    • pygram11.omp_available() -> bool checks for availability
    • pygram11.omp_max_threads() -> int checks for the maximum available threads
  • some documentation improvements
  • bump pybind11 version to 2.4.3
  • pygram11.OPENMP will be removed in a future release

- Python
Published by douglasdavis over 6 years ago

https://github.com/douglasdavis/pygram11 - 0.6.0

This is the first release dropping Python 2 support

  • Add type hints
  • Improve documentation

- Python
Published by douglasdavis over 6 years ago

https://github.com/douglasdavis/pygram11 - 0.5.2

  • In the backend we replace std::unique_ptr<T[]> with std::vector<T> for on-thread arrays.
  • Improved documentation.

This is the last release supporting Python 2

- Python
Published by douglasdavis over 6 years ago

https://github.com/douglasdavis/pygram11 - 0.5.1

  • Fix setup.py such that setuptools doesn't try to install numpy via easy_install (remove unnecessary setup_requires argument).
  • Add _max_threads attribute to pygram11._core.
  • Fixed macOS wheels (use delocate to ensure OpenMP symbols are bundled).

- Python
Published by douglasdavis over 6 years ago

https://github.com/douglasdavis/pygram11 - 0.5.0

New features

  • histogramming multiple weight variations in a single function call is now possible via fix1dmw and var1dmw
  • In the NumPy like API, passing a 2 dimensional array to the weights argument will use this feature as well.
  • Binary wheels for Linux and macOS are provided on PyPI (conda-forge binaries are of course still available as well)

Other updates

  • All functions now return the sqrt(sum-of-weights-squared) instead of sum-of-weights; before v0.5.x the 2D functions returned the sum of weights squared.

- Python
Published by douglasdavis over 6 years ago

https://github.com/douglasdavis/pygram11 - 0.5.0.a2

Second 0.5 series alpha.

  • Added fixed bin one dimensional multiweight histogramming to front end Python API.
  • Updated documentation

- Python
Published by douglasdavis over 6 years ago

https://github.com/douglasdavis/pygram11 - 0.5.0.a1

First alpha for 0.5.x release series. This is meant to test manylinux2010 wheels uploaded to PyPI.

- Python
Published by douglasdavis over 6 years ago

https://github.com/douglasdavis/pygram11 - 0.4.0

A breaking change to the API w.r.t. returns. All functions now return sum of weights squared, even if it's None. The histogramming functions previously had a single array returned if weights were not used. Now None is returned if no weights are used

```python

x = np.random.randn(1000) w = np.random.uniform(0.5, 0.8, x.shape[0]) pygram11.histogram(x, bins=5, range=(-3, 3)) (array([ 30., 249., 450., 227., 41.]), None) pygram11.histogram(x, bins=5, range=(-3, 3), weights=w) (array([ 19.97159325, 162.31069262, 291.30576246, 147.4478516 , 27.12625336]), array([ 3.66815712, 10.36897935, 13.85860416, 9.86909866, 4.27544407])) `` before this release the firsthistogram` function call would not return a two entry tuple.

- Python
Published by douglasdavis over 6 years ago

https://github.com/douglasdavis/pygram11 - 0.3.1

Tagging minor release for documentation updates

- Python
Published by douglasdavis over 6 years ago

https://github.com/douglasdavis/pygram11 - 0.3.0

1D histograms now have a flow argument, when True the under and overflow contents are included in the first and last bins, respectively.

- Python
Published by douglasdavis over 6 years ago

https://github.com/douglasdavis/pygram11 - 0.2.2

Backend maintenance

  • cleaning up some use of std::move
  • cleaning up multiple returns code

- Python
Published by douglasdavis almost 7 years ago

https://github.com/douglasdavis/pygram11 - 0.2.1

  • For 1D histogramming, allow the omp argument to be "auto".
    • For fixed width histograms OpenMP will be used for len(data) > 1e4, for variable width histograms its used for len(data) > 1e3. This is the new default.
    • If OpenMP is unavailable this is obviously ignored.
  • Fixes some warnings that showed up with the Apple Clang update (related to std::move).

- Python
Published by douglasdavis almost 7 years ago

https://github.com/douglasdavis/pygram11 - 0.2.0

  • New density argument for one dimensional histograms
  • New pygram11.utils module, houses a densify1d function used internally by the histogramming functions if the density argument is True.

- Python
Published by douglasdavis almost 7 years ago

https://github.com/douglasdavis/pygram11 - 0.1.14

First release to work with conda-forge.

- Python
Published by douglasdavis almost 7 years ago

https://github.com/douglasdavis/pygram11 - 0.1.13

Updated linker flags in setup.py for conda-forge OpenMP on macOS attempt.

- Python
Published by douglasdavis almost 7 years ago

https://github.com/douglasdavis/pygram11 - 0.1.12

Release with a cleaner setup.py OpenMP discovery workflow.

- Python
Published by douglasdavis almost 7 years ago

https://github.com/douglasdavis/pygram11 - 0.1.10

Release includes tests in MANIFEST.in (CI deployment broken for this release)

- Python
Published by douglasdavis almost 7 years ago

https://github.com/douglasdavis/pygram11 - 0.1.11

Release which includes tests in MANIFEST.in.

- Python
Published by douglasdavis almost 7 years ago

https://github.com/douglasdavis/pygram11 - 0.1.9

Micro release which includes LICENSE in MANIFEST.in

- Python
Published by douglasdavis almost 7 years ago

https://github.com/douglasdavis/pygram11 - 0.1.8

setup.py supports GNU OpenMP implementation.

- Python
Published by douglasdavis almost 7 years ago

https://github.com/douglasdavis/pygram11 - 0.1.7

Backend update:

  • avoid going through the buffer_info struct from pybind11, use py::array_t<T>::data() instead

- Python
Published by douglasdavis almost 7 years ago

https://github.com/douglasdavis/pygram11 -

- Python
Published by douglasdavis almost 7 years ago

https://github.com/douglasdavis/pygram11 - 0.1.5

Release for Zenodo

- Python
Published by douglasdavis almost 7 years ago