There is a newer version of the record available.

Published June 22, 2015 | Version 0.7.0

rootpy: 0.7.0

Description

What's new in this release: bugfixes
  • Fix #49. Don't require python>=2.6 for install, otherwise we get python3
  • Check for sys.version < (2, 6) in setup.py
  • Eliminate ipython printing (Bool_t)1 when ROOT starts up
  • Emit an error wherever the diaper pattern is used
  • Sanitize ROOT's message output to ascii, using repr() if it isn't
  • Register HistStack with class registry correctly
general improvements
  • Documentation
  • Defer configuring defaults until finalSetup (#74)
  • Switch to pyparsing for C++ template parsing
  • Use XDG base directory specificiation
  • Add defaults.extra_initializations for further ROOT setup
  • Add userdata.BINARY_PATH, unique per (arch, rootversion)
  • Use .cache/rootpy/{arch}-{rootversion}/{modules,dicts} to store generated binaries
  • defaults: Disable AutoDict generation
  • Introduce rootpy/util/quickroot which can get to vital root symbols without finalSetup (10x speed improvement in import time)
  • Implement TPyDispatcherProcessedEvent using rootpy.compiled
  • Falling back to batch mode should be a WARNING not ERROR
  • Numpy code is now moved to the rootpy/root_numpy repository
  • Use hash of unique name rather than generating a UUID for dictionary shared object name
  • Automatic testing of each commit / pull request on travis-ci
  • PEP8 Python code style compliance
  • Add TitleView class to plotting.views functionality
  • Unit tests
  • Rewrite registry code so magical imports are no longer required to make rootpy aware of what ROOT classes are subclassed in rootpy
  • Alias ROOT CamelCase methods with snake_case methods
  • Improvements to the setup.py script
  • New examples for using Trees, Hists, etc
  • Make name and title properties for Objects
new externs
  • Add extern/pyparsing.py
  • Add extern/byteplay
  • Add module_facade
  • Add inject_closure_values to close over global variables
docs
  • Add logger documentation
  • Sphinx: Introduce ipython highlighting
  • Document a bit more about python's vanilla logging
  • Update STL docs
  • Add note in CONTRIBUTING.rst about debug python builds
scripts
  • Use argparse (argparse is now in rootpy.extern)
  • Unify scripts into one rootpy script
  • Remove scripts that are still WIP
  • Use the new rootpy logger
  • Your roosh command history is saved and can be searched
  • Multi-canvas and multi-file support in roosh
  • Improvements to the root2hdf5 script, that now uses root_numpy for faster conversion to HDF5
rootpy.interactive (NEW!)
  • Add interactive.rootwait, provides wait_for_zero_canvases which blocks program execution until all canvases are closed
  • Add canvas_events for closing canvases on middle click
rootpy.context (NEW!)
  • Add preserve_{current_canvas,batch_state} and invisible_canvas context managers
  • Add preserve_current_directory context manager
rootpy.plotting
  • Add xaxis/yaxis properties to plotting.Efficiency
  • Implement new fill_array function in root_numpy to fill histograms with NumPy arrays. Histograms in rootpy now have a fill_array method
  • TStyle is now subclasses in rootpy as Style. Styles can be used at context managers using the "with" statement
  • Add the official ATLAS style and example
  • Hist2Ds can be "ravel()"ed, like NumPy's ravel() method that converts a 2D array into a 1D array by repeating the second axis along the first
  • Add SetColor to all Plottables to set all colors simultaneously
  • Improvements to the root2matplotlib module
  • Make style attributes properties
  • Add xaxis, yaxis, zaxis properties for Hist classes
  • Plottable now gracefully handles deprecation of properties
rootpy.logger (NEW!)
  • New logging module for internal and (optionally) external use
  • Automatically coloured status level if we're attached to a terminal
  • Default rootpy logging level to INFO unless os.environ['DEBUG'] is present
  • Redirecting ROOT's errors as python exceptions
  • Add a log symbol to each subpackage
  • Add @log.trace() decorator which can be used to log function entry/exit/duration
  • Add log.showstack() to log current stack whenever a message is emitted by log
  • If there is no logging handler when the first message is emitted, automatically add one
  • Automatically log python stack trace if there is a segfault
rootpy.compiled (NEW!)
  • Adds an interface for compiling C++ code on demand with CompileMacro
  • Add support for inline C++ code definitions
  • rootpy.compiled.register_file("mycode.cxx", ["mysymbol"]) then rootpy.compiled.mysymbol will be generated when requested. mycode.cxx is located relative to the module where register_file is called
  • rootpy.compiled.register_code(".. C++ source code ..", ["mysymbol"]) .. same as above but without needing a cxx file on disk
rootpy.memory (NEW!)
  • Add log.showdeletion() to show TObject cleanup
  • keepalive: function to ensure objects are kept alive exactly as long as needed
rootpy.util.hook (NEW!)
  • Add ability to hook ROOT methods and append properties/methods to existing classes
rootpy.util.cpp (NEW!)
  • New module for parsing C++ syntax.
rootpy.stl (NEW!)
  • Compiling arbitrary templated types.
rootpy.tree
  • Make root_numpy an optional dependency and remove copy from rootpy
  • Reading branches on demand: Only call GetEntry on branches that are accessed
  • Add support for branches of array types
  • Improvements to the documentation
  • The categories module is rewritten and now properly parses the category syntax (unit tests are included)
  • Improvements to Tree.Draw
  • Dictionaries for branches of STL types are now compiled automatically
  • Reverse order of axes expressions in Tree.Draw to match hist argument order so X:Y:Z maps onto filling along X:Y:Z instead of Z:Y:X

Files

rootpy-0.7.0.zip

Files (450.1 kB)

Name Size
md5:48829db80bec55baa93feafa17f9fd84
450.1 kB Preview Download

Additional details

Related works