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-corefor packaging system - Bump
mp11version
- 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.configmodule. - Decorators and context managers added to control toggling OpenMP thresholds
pygram11.without_ompdecoratorpygram11.with_ompdecoratorpygram11.disable_ompcontext managerpygram11.force_ompcontext manager- See the documentation for more
- constants have been removed in favor of new
- 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=Nonenow returnNoneas 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.float64andnp.float32were 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
TypeErroris now raised. This library prioritizes performance; hidden performance hits are explicitly avoided.
- If unsupported array types are used
- 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::mp11as 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
libompfrom Homebrew installed at/opt/homebrew. - Documentation improvements
- Renamed
masterbranch tomain.
- 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
pybind112.6 series. - Some changes to backend types (
std::size_t->pybind11::ssize_tfor sizes) (https://github.com/pybind/pybind11/pull/2293) - Improvements to CI/CD: using
cibuildwheelto 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.pyfor 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__.pytohistogram.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)
ompfunction argument deprecatedomp_max_threadsrenamed toomp_get_max_threadsto mirror OpenMP C APIomp_availablefunction 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() -> boolchecks for availabilitypygram11.omp_max_threads() -> intchecks for the maximum available threads
- some documentation improvements
- bump pybind11 version to 2.4.3
pygram11.OPENMPwill 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[]>withstd::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.pysuch thatsetuptoolsdoesn't try to install numpy viaeasy_install(remove unnecessarysetup_requiresargument). - Add
_max_threadsattribute topygram11._core. - Fixed macOS wheels (use
delocateto 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
fix1dmwandvar1dmw - In the NumPy like API, passing a 2 dimensional array to the
weightsargument 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
ompargument to be"auto".- For fixed width histograms OpenMP will be used for
len(data) > 1e4, for variable width histograms its used forlen(data) > 1e3. This is the new default. - If OpenMP is unavailable this is obviously ignored.
- For fixed width histograms OpenMP will be used for
- 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
densityargument for one dimensional histograms - New
pygram11.utilsmodule, houses adensify1dfunction used internally by the histogramming functions if thedensityargument isTrue.
- 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_infostruct from pybind11, usepy::array_t<T>::data()instead
- 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