Package Release Info


Update Info: Base Release
Available in Package Hub : 15 SP4





Change Logs

* Thu Apr 01 2021 Atri Bhattacharya <>
- Update to version 1.9.0:
  * Add missing inline declarations to free IO functions.
  * Add fillDim() methods to the Bin, Bin1D and Bin2D classes.
  * Rename the Point getParentAO etc. to getParent, using the new
    Scatter base, and improve the accessor methods.
  * Add Scatter base class to the Scatter classes, with rmPoints()
    implemented there.
  * Add Binned and Fillable base classes, the former introducing
    the fillDim() method and rmBin(), and use them as ABCs for the
    counter, histo and profile types.
  * Allow YODA's Python interface to read from StringIO and FileIO
  * Add rmPoint() and rmPoints() methods on all Scatter types.
  * Change scaleDim() to scale() for points and scatters
  * Remove ROOT5 compatibility, and handle 6.22 change in PyROOT.
  * Fix out-of-source builds re. bash completions.
  * Fixes to the Profile1D Python interface.
  * Add <limits> header include to AnalysisObject.h to support
    GCC11 (cf.
  * Restructure yodamerge to use pairwise merges, avoiding
    simultaneous loading of all the input files and greatly
    speeding up processing. Simultaneous simplification by
    replacement of yodamerge stacking functionality with
* Sat Nov 28 2020 Atri Bhattacharya <>
- Update to version 1.8.5:
  * Add relErrs() functions to the H1D and H2D Python interfaces.
  * Add an explicit configure test and override variable for the
    cython executable.
  * Fix typo from xAvgErr -> xErrAvg in Scatter2D.xErrAvgs()
    Python function.
* Mon Nov 09 2020 Atri Bhattacharya <>
- Update to version 1.8.4:
  * Don't suppress cross-section-normalised empty histograms in
  * Use ROOT's ROOT_VERSION_CODE and ROOT_VERSION macros to handle
    the changing TPython API.
  * Do not apply bin-width scaling by default between YODA and
    ROOT binned objects.
  * Improve ROOT conversion utilities to support a fuller set of
    width-scaling and focus-mapping options.
  * Fix Point1D.setXErrs() function to handle sources and asymm
    errors correctly.
  * Map scatter reset() functions into Python.
  * Create bash completion dir in $prefix/etc if it doesn't exist.
  * Fix missing call-parentheses in Python-mapped Bin classes,
    including in the __repr__ functions, which was making
    print(bin) crash.
- Move bash_completion file from /usr/etc, where it is installed,
  to the correct dir: `%{_datadir}/bash-completions/completions/`;
  add BuildRequires: bash-completion for correct dir ownership.
* Tue Jul 14 2020 Atri Bhattacharya <>
- Update to version 1.8.3:
  * The python method `Histo2D.addBins` was reimplemented using
    `Histo2D::addBins()` C++ method instead of `Histo2D::addBin()`
    for better performance.
  * Make the low stats error for variances strictly require Neff >
    1, rather than a fuzzy comparison that can cause trouble
  * Make xyMids,Foci,Errs,Mins,Maxs etc. runtime configurable with
    'unique' and 'asgrid' optional params.
  * Convert geometric axis-property array functions on Histo2D and
    Profile2D to return the unique edges, mins, maxes, mids, etc.
    rather than the heavily repeated versions for all the bins.
  * Fix Histo2D.volumes() Python mapping, and add sumWs()
    functions to all histo types.
  * Add asgrid optional arguments to value-related Python methods
    for Histo2D and Profile2D
  * Add computation of Python versions and passing them to Cython
    as command-line flags.
- Changes from version 1.8.2:
  * Fix off-by-one error in Axis2D.numBinsX/Y() return values,
    fixing Histo2D and Profile2D.
  * Add numBinsX() methods to the 1D histogram and profile
  * Py3 compatibility fix
  * Fix call to `Histo1D.annotationsDict`
- Changes from version 1.8.1:
  * Fix list-return read YODA-format function.
  * Removed unwanted space at end of headers.
  * Set correct dimension when calling setErrs.
  * Added zerrs to 3DScatter headers.
  * Added xErrs, yErrs, zErrs to Scatter3D.pyx
  * Add underflow and overflow reporting to the verbose yodals
  * Re-instate title() and fix bug in z-error storage for scatter
  * Python3 compatibility tweaks
  * Add a pdfspace() function in C++ and a Python equivalent --
    recoded rather than mapped, due to the technical implications
    of passing Python callables as std::functions -- for custom
    binning from a density function.
  * Fix YODA 1.7 style call to AO.dim.
  * Update yodamerge ao_out.point(i).setVal(dim, val_i)
  * IO.pyx: missing python3 compatibility
  * Sort dicts on IO write(), and return ordered dicts in read
    mode if possible.
- Drop YODA-py3-compatibility-for-IO_pyx.patch: incorporated
Version: 1.6.7-bp150.2.5
* Wed Aug 02 2017
- Update to version 1.6.7:
  * pyext/yoda/rootcompat.pyx: Fix ordering of TH1 vs. TProfile
  * Add static Reader methods to match the Writer ones.
  * Fix Histo2D and Profile2D total distribution reading from YODA
  * Convert TH1F to TH1D in root2flat. Much simpler than
    duplicating the TH1D stuff in pyext.
- Changes from version 1.6.6:
  * Bugfixes in Cython bins accessors for Histo2D.
  * Fixed warning messages about the obsoleteness of AIDA so that
    the scripts actually still work.
* Mon Feb 13 2017
- Call ldconfig directly. Add sover.diff, enforce versioning
  as per guidelines.
* Thu Feb 02 2017
- use individual libboost-*-devel packages instead of boost-devel
* Thu Nov 10 2016
- Update to version 1.6.5:
  * Fix handling of --enable/disable-root configure options.
  * Improvements to Cython version testing.
- Numerous changes from last packaged version (1.3.1) through
  version 1.6.4. Please see ChangeLog file for details.
- Drop YODA-boost-configure-for-GCC5.patch: no longer needed due
  to fixes in upstream code.
* Thu Jun 25 2015
- Add YODA-boost-configure-for-GCC5.patch to fix autoconf
  boost macros lookup with GCC5; patch taken from boost.m4
  upstream [].
- Clean up some further remnants of %buildroot in python
  byte-compiled files.
* Thu Jun 25 2015
- Update to version 1.3.1:
  + Adding usefocus optional argument to some mkScatter functions,
    plus the Python bindings.
  + Cleaning up some Python mappings of 2D histogram bin classes.
  + Removing mappings of bin-level fill and scale operations in
  + Fix formatting and error handling in Python Bin and Dbn
    __repr__ methods.
  + Add a -i/--in-place option pair on yodascale.
  + Convert script matching options to use re search rather than
  + Adding matching options and verbose option to yodals.
  + Improvements and additions to ROOTCnv.h routines, particularly
    to TProfile creation: thanks to Roman Lysak for advice.
  + Add convenience YODA/YODA.h header.
  + yodascale now uses PointMatcher and can normalize or multiply
    to abs values or ref histos/bin ranges.
  + Adding yoda.matcher Python sub-package with PointMatcher
    functionality. To be used in Professor 2.0 and in yodascale.
  + Adding 'scat2' type to yodahist.
  + Add match/unmatch args to all conversion scripts, via a new
    Python yoda.script_helpers function.
  + Script updates, improved docstrings, and improved tab
  + Add a yoda.plotting sub-module, based on matplotlib.
  + Small build improvements.
  + Handle overflow filling in binned types without invoking an
  + Change inRange to have non-fuzzy comparison behaviour.
  + Improving/adding __div__ functions in Python for all binned
  + Add std:: prefix to isinf() calls in BinSearcher.h.
* Sun Oct 26 2014
- Update to version 1.3.0:
  + Use numEntries() rather than effNumEntries() when checking
    consistency of inputs to efficiency() calculations -- the
    effNumEntries of a set can be smaller than that of a strict
    subset, surprisingly!
  + Small improvements to yodahist and yodaplot behaviours/UIs.
  + Adding setX/Y/Z(val, err) methods to Point3D.
  + Add an efficiency method for 2D histos.
  + Hide fill and fillBin methods from Python mappings of bin
* Thu Sep 18 2014
- Update to version 1.2.1:
  + Hide non-const access to bin objects from histogram user:
    avoids potential for inconsistency between total dbns and
    in-range bins.
  + Bug in BinSearcher fixed by Peter Richardson: constructor
    arguments were passed in the wrong order when constructing
    a LinEstimator in cases where log binning wouldn't be
  + Add protection against / characters in histo names in
  + Add +=, -=, *-, /=, ++ and -- operators to Counter, along
    with an (implicit) constructor from a double -- all for user
    convenience so Counter can be used in lieu of a simple number
- Changes from version 1.2.0:
  + Many changes from 1.1.0 version, please see installed
    ChangeLog file
- Add the new binaries yadals, yodaplot and yodascale to filelist.
* Sat Jun 21 2014
- Update to version 1.1.0:
  + YODA 1.1.0 release.
  + Adding unit tests against ref data for yodamerge in make check.
  + Removing 'foreach' macro definition and using raw
    BOOST_FOREACH instead until C++11 is allowed.
  + Adding pytest-p1d and pytest-p2d tests, and FLAT
    writing/reading in pytests.
  + Tweaking WriterFLAT and adding ReaderFLAT functionality for 2D
    histos and profiles.
  + Some basic (FLAT) write-out capability for 2D histos
  + Improvements to the yodahist script, including support for 2D
    histograms and input files.
  + Adding bin edges constructors for all 1D and 2D histos in
  + Improvements to Profile2D and Point2D interfaces in Python.
  + Add a single-file at a time yodacnv multi-format converter
    script (thanks to Andrii Verbytskyi for the suggestion).
  + Typo fixes in Profile2D YODA-format parsing: 2D histo tests
    now pass!
  + Adding Python tests for Histo2D and Profile2D.
  + Adding a YODA/Predicates.h header and using it in Axis2D bin
    edge construction.
  + Enabling Profile2D writing in various Writers, and a bit of IO
    code tidying.
  + Disable writing out of Histo2D and Profile2D outflows for now,
    while they are redesigned, and get 2D I/O working for the
    in-range part.
  + Mapping the divide and efficiency functions into the Python
    interface as class methods, including the __div__ special
  + Add the AnalysisObject::type() method back in Python (even
    though type(ao) is more Pythonic, this may be useful)
  + Add Profile2D YODA format writing, note need for Scatter
    format change, add sumXY storage to both 2D histo types.
  + Adding YODA reader functionality for Histo2D and Profile2D,
    but without outflows support yet.
  + Adding simple command line yodahist script for quick 1D
    histogramming from plain text files, with weight support. More
    development to come!
  + Mapping linspace, logspace and a few stat functions into
  + Fixes, script installation, and detailed numerical comparisons
    in yodadiff.
  + Change AnalysisObject::annotations to return the list of
    annotation keys rather than the map, since the previous
    behaviour mapped very badly into Python.
  + Add special case handling for 2-arg use of x2y scripts where
    the second arg is -, for stdin. This will be treated as
    writing out to stdout, not converting two files one of which
    is stdin.
  + Adding a more portable version of getline to be used in the
    YODA file parsing to avoid falling over on DOS-produced input
  + Adding the namespace protection workaround for Boost described
  + Adding an assumed-equal-run-size, ratio-like merging heuristic
    for Scatter2Ds to yodamerge, and renaming the --normalize-all
    flag to --assume-normalized.
  + Adding and installing a pkg-config data file for YODA.
  + Rationalising (and fixing?) the yodamerge logic re. user &
    normalization scalings, and making way for a Scatter2D merging
- Packaging changes:
  + Package new binaries yodacnv, yodadiff, yodahist
  + Package new pkgconfig file (buildrequires pkg-config).
* Tue Dec 10 2013
- Initial version
Version: 1.7.0-bp151.1.6
* Wed May 23 2018
- Update to version 1.7.0:
  * Add Nentries printout to yodals -v
  * Patches for ROOT conversion from Robert Hatcher -- thanks!
  * Add YODA format version annotation, at version 2, and update
    YODA reader to use version info and multiline YAML EOF marker.
  * Write YODA annotations in YAML with a --- YAML break-line.
  * Enable compressed writing from Python.
  * Remove UNUSED macro in favour of anonymous args.
  * Enable zipped writing... but only works from C++ so far.
  * Add HistoBin2D::area(), and provide a default normto=1.0
    argument on the Python Histo2D.normalize() method.
  * Change license explicitly to GPLv3, cf. MCnet3 agreement.
  * Parse YODA format AO headers as YAML (restriction to
    single-line dict entries for now).
  * Use a slightly enhanced fast numeric parser in ReaderYODA
    (taken from LHAPDF, originally inspired by Gavin Salam).
  * Add an UNSCALE spec option to yodascale, to undo ScaledBy
  * Add optional zlib support via zstr
  * Fix setVal(i, x) numbered-axis methods on Point2D and Point3D:
    switch break statements were missing.
  * Explicitly load all ROOT objects as a list rather than
    generator. Patch from Dmitry Kalinkin.
  * Improvements to yodaplot, including two operating modes: the
    default CMP mode is suitable for plotting histos by path, from
    raw .yoda files.
  * Update yoda.plotting functions to treat plot-keys as args and
    AO annotations via case-insensitive keys.
  * Add annotationsDict to the Python AO interface.
  * Add AO as an alias for AnalysisObject.
  * Add parallel/compatibility yoda1 package to aid eventual
    transition to YODA v2.
  * Add x,y,zMins and Maxs to all 1D data types and scatters (and
    x,yMin/Max to the scatters) -- Python interface only.
  * Rework some of the yoda.plotting tools, making it a bit more
    compatible with user-scripted matplotlib.
  * Add convenience aliases H1D, H2D, P1D, P2D, and S1D, S2D, S3D
    for the HistoXD, ProfileXD, and ScatterXD classes
  * Add xyVals/Errs and other 'bin array property' accessors to
    the Python Histo1D and Profile1D types: important for
    connection to matplotlib.
  * Use Python natsort library to sort yodals output if available.
- Rebase sover.diff.
- Add BuildRequires: pkgconfig(zlib); now required for bulding
- Fix env-based hashbangs.
Version: 1.8.0-bp152.1.30
* Sat Jan 18 2020 Atri Bhattacharya <>
- Add YODA-py3-compatibility-for-IO_pyx.patch -- Py3 compatibilty
  for IO.pyx; patch taken from upstream commit and modified to fix
  further similar errors
- Change hashbangs referring to python or `env python` to use
  `/usr/bin/python3` consistently in source dir, rather than
  from buildroot after installation. This allows to run the tests
  correctly in the %check section.
- Move binaries using the python module to python3-%{name}
- Run make check.
* Wed Jan 08 2020 Atri Bhattacharya <>
- Switch to python3:
  * Requires and BuildRequires switched to python3 versions
  * Rename python package to python3-%{name} and provide
    python-%{name} from it; this makes the py3 switch clear to
  * Explicitly pass PYTHON_VERSION as py3 version to make it build
    against python3
  * Drop an unecessary hashbang from a file in non-exec location.
- Remove an sed hack for buildroot in *.pyc file(s); no longer
* Sat Jan 04 2020 Atri Bhattacharya <>
- Update to version 1.8.0:
  * Add extra optional bool arguments to the mkScatter converter
    functions for Histo1D and Histo2D types.
  * Force rebuild of the Python interface if a sufficient Cython
    is found, even if the generated .cpp file is present at
  * Final conversion to use ast module not just in autotype but as
    first choice in AO.annotation.
  * Remove ALL uses of @property in the Python interfaces: all
    methods must have call-parentheses now.
  * Improve Python annotation parsing to preferentially use ast
    rather than yaml.
  * Add x/yErrs and x/yErrAvgs functions to Scatter2D Python.
- Rebase so numbering patch for updated version.
* Wed Aug 21 2019 Atri Bhattacharya <>
- Update to version 1.7.7:
  * Fix printing of YAML annotations.
  * Fix Python 3 / Unicode compatibility for Point.pyx.
- Changes from version 1.7.6:
  * Add xEdges and yEdges methods to the 2D Histo and Profile
    classes, in C++ and Python.
  * Remove @property attributes from Python xEdges methods.
  * Fix Python3/argparse attribute access bug in yodamerge.
- Changes from version 1.7.5:
  * Convert bin/* scripts to use Python3-compatible argparse
    rather than old optparse.
  * Fix Histo1D::integralRange to include the second-argument bin
    content as described in the docstring.
  * Fix Python3 StringIO import compatibility
  * Add -m/-M filtering to yodadiff.
  * Fix HistoBin2D printing in Python interface.
  * Protect yodamerge against zero-valued (?!) ScaledBy
- Drop conditional for boost BuildRequires pertaining to outdated
  versions of openSUSE.
* Wed May 01 2019 Atri Bhattacharya <>
- Update to version 1.7.4:
  * Roll out sameBinning methods for Profile1D and Profile2D.
  * Add sameBinning methods for Histo1D and Histo2D.
  * Remove debug couts from single-AO Writer::write() function.
  * Add --ignore-missing and --ignore-new flags to yodadiff.
  * Tidy up point-comparison output of yodadiff.
  * Fix additional weighting in yodamerge
- See %{_docdir}/YODA-devel/ChangeLog for changes between version
  1.7.1 through 1.7.3.
- Rebase sover.diff to apply cleanly.