Recent Releases of hatchet
hatchet - v2025.1.0
Version 2025.1.0 is a major release.
Notable Changes
- Display more than 2 metrics on the tree visualization (#165)
- Allows Hatchet to work with NumPy >= 2.0 (#163)
- Remove Extra Aggregation in Timeseries (#164)
- Aggregate on String Attributes (#158)
- Disable Aggregation for non-timeseries Profiles (#157)
Bug Fixes
- Fix Node Ordering Setting (#154)
- Fix sum(nan) == 0 in caliper native reader (#166)
Internal Updates
- Skip HDF Test if Package not Available (#156)
- Update examples to use fromcaliperreader by default, instead of fromcaliper (#160)
- Update to Ubuntu 22.04 (#159)
- Disables attestations in gh-action-pypi-publish to avoid errors from PyPI (#168)
- JavaScript
Published by slabasan 8 months ago
hatchet - v2024.1.3
Version 2024.1.3 is a minor release on the 2024.1 series.
Notable Changes:
- Ignore Error Message if Not IPython (#147)
- Improves performance of QL by changing how the QL extracts node data when using MultiIndex (#143)
- Allow tuple as metric_column (#139)
Internal Updates:
- Temporarily pin numpy Version Less Than 2.0.0 (#140)
- Fixes minor typo that will cause CD to fail (#137)
- Adds test for upload-artifact@v4 (#136)
- JavaScript
Published by slabasan over 1 year ago
hatchet - v2024.1.2
Version 2024.1.2 is a minor release on the 2024.1 series.
Notable Changes:
- Adds support for multi-indexed column names to the query language (#124)
- Adds a new HPCToolkit reader supporting the newest database format (#126)
- Fixes a bug in Roundtrip that causes interactive visualization to fail in newer versions of Jupyter and IPython (#127)
Internal Updates:
- Adds functionality to CI that auto-uploads to Codecov (#130)
- Upgrades the version of black used in CI (#131)
- Upgrades action versions in CI/CD (#132)
- JavaScript
Published by pearce8 over 1 year ago
hatchet - v2024.1.1
Version 2024.1.1 is a minor release on the 2024.1 series.
Notable Changes
- Add support for terminal tree printout for dataframe with multi-indexed columns (#120)
Internal Updates
- calipernativereader: Change "nid" casted value to np.int64 (#118)
- JavaScript
Published by slabasan almost 2 years ago
hatchet - v2024.1.0
Version 2024.1.0 is a major release.
Notable Changes
- Added Jupyter Version Check to Roundtrip Import (#116)
- Update node ordering of child graph when making a copy (#117)
- Updates CaliperNativeReader to support all Caliper data types
- Support for reading in a timeseries cali file and viewing annotations on tree
Internal Updates
- Update old-style query warning to include hatchet version (#115)
- Removed unicode string formatting needed for python2 only
- Allows push to PyPI to be triggered through workflow_dispatch (#114)
- JavaScript
Published by slabasan almost 2 years ago
hatchet - v2023.1.1
Version 2023.1.1 is a minor release on the 2023.1 series.
Notable Changes
- Add support for NaNs in calculating exclusive columns and optionally specify inclusive columns (#99)
- Adds support for tree annotations with coloring and min/max attributes (#97)
- caliperreader: handle other metadata types (#98)
- Update caliperreader to initialize nodes based on node order column (#94)
- Sort nodes in terminal tree by hatchet_nid instead alphabetically (#108)
Internal Updates
- docs: Update developer_guide.rst (#102)
- Deprecate Python2 CI coverage (#95)
- Adds hatchet/external/roundtrip to MANIFEST (#91)
- Removes python 3.5 from CI checks (#112)
- JavaScript
Published by slabasan over 2 years ago
hatchet - v2023.1.0
Version 2023.1.0 is a major release.
Notable Changes
- caliperreader: Adds support for optional additional string attributes
- caliperreader: option to use native or aliased metric names
- Changes np.float to np.float64 to account for removal of np.float in newer versions of NumPy
- caliperreader: fix duplicate dataframe rows
- Enables support for multi-indexed DataFrames in the Query Language
- Refactors Query Language for Thicket
- Add Tuple Support and a Switch to Filter Function
Internal Updates
- Changes the textx dependency to use version < 3 with Python < 3.6 and version >= 3 with Python >= 3.6
- Adds Cython to the build-system requires list in pyproject.toml
- Refactors setuptools to fix Cython issues and be consistent with Thicket
- Adds a line to setup.py to get the hatchet.query package
- Adds GitHub Action to build and (optionally) upload wheels and sdist (#87)
- JavaScript
Published by slabasan over 2 years ago
hatchet - 2022.2.1
This is a minor release on the 2022.2 series.
Notable Changes
- updates caliper reader to convert caliper metadata values into correct Python objects
- adds tojson writer and fromdict and from_json readers
- adds
render_headerparameter to tree() to toggle the header on/off - adds the ability to match leaf nodes in the Query Language
Other Changes
- exposes version module to query hatchet version from the command line
- docs: update to using hatchet at llnl page
- adds a GitHub Action to test PyPI releases on a regular schedule
- JavaScript
Published by slabasan over 3 years ago
hatchet - 2022.2.0
Version 2022.2.0 is a major release, and resolves package install of hatchet.
- Adds writers module to installed modules to resolve package install
- CaliperReader bug fixes: filter records to parse, ignore function metadata field
- Modify graphframe copy/deepcopy
- Adds beautiful soup 4 to requirements.txt
- Add new page on using hatchet on LLNL systems
- JavaScript
Published by slabasan over 3 years ago
hatchet - 2022.1.1
This is a minor release on the 2022.1 series. It addresses a bug fix in Hatchet's query language and Hatchet's flamegraph output:
- flamegraph: change count to be an int instead of a float
- query language: fix edge cases with + wildcard/quantifier by replacing it with . followed by *
- JavaScript
Published by slabasan over 3 years ago
hatchet - 2022.1.0
Version 2022.1.0 is a major release.
New features
- 3 new readers: TAU, SpotDB, and Caliper python reader
- Query language extensions: compound queries, not query, and middle-level API
- Adds GraphFrame checkpoints in HDF5 format
- Interactive CCT visualization enhancements: pan and zoom, module encoding, multivariate encoding and adjustable mass pruning on large datasets
- HPCToolkit: extend for GPU stream data
- New color maps for terminal tree visualization
- New function for calculating exclusive metrics from corresponding inclusive metrics
Changes to existing APIs
- Precision parameter applied to second metric in terminal tree visualization
(e.g.,
gf.tree(precision=3)) - Deprecates
from_caliper_json(), augments existingfrom_caliper()to accept optional cali-query parameter and cali file or just a json file - Metadata now stored on the GraphFrame
- New interface for calling the Hatchet calling context tree from Roundtrip:
%cct <graphframe or list>. Deprecated interface:%loadVisualization <roundtrip_path> <literal_tree> - Add recursion limit parameter to graphframe
filter(rec_limit=1000), resolving recursion depth errors on large graphs
Tutorials and documentation
- New tutorial material from the ECP Annual Meeting 2021
- New developer and contributor guides
- Added section on how to generate datasets for Hatchet and expanded
- documentation on the query language
Internal updates
- Extend updateinclusivecolumns() for multi-indexed trees
- Moves CI from Travis to GitHub Actions
- Roundtrip refactor
- New unit test for formatting license headers
Bugfixes
- Return default_metric and metadata in filter(), squash(), copy(), and deepcopy()
- flamegraph: extract name from dataframe column instead of frame
- Preserve existing incmetrics in updateinclusive_columns
- JavaScript
Published by slabasan almost 4 years ago
hatchet - Hatchet v1.3.0
New features:
- Interactive tree visualization in Jupyter
- Add mult and division API
- Update hatchet installation steps for cython integration
- Readers: cprofiler, pyinstrument
- Graph output formats: to_literal
- Add profiling APIs to profile Hatchet APIs
- Update basic tutorial for hatchet
Changes to existing APIs
- Remove threshold=, color=, and unicode= from tree API
- Highlighting name disabled by default in terminal tree output is kept in sync with the dataframe
- Internal performance improvements to unify and HPCToolkit reader, enabling analysis of large datasets
- For mathematical operations, insert nan values for missing nodes, show values as nan and inf as necessary in dataframe
- Extend callpath query language to support non-dataframe metrics (e.g., depth, hatchet ID)
- Literal reader: A node can be defined with a "duplicate": True field if it should be the same node (though in a different callpath). A node also needs "frame" field, which is a dict containing the node "name" and "type" (if necessary).
- JavaScript
Published by slabasan about 4 years ago
hatchet - v1.3.1a0
New features
- Timemory reader
- Query dataframe columns with GraphFrame.showmetriccolumns()
- Query nodes within a range using the call path query language
- Extend readers to define their own default metric
- Changes to existing APIs
- Tree visualization displays 2 metrics
- Literal output format: add hatchet node IDs
- Parallel implementation of filter function
- Caliper reader: support multiple hierarchies in JSON format
- Adds multiprocessing dependency
- JavaScript
Published by slabasan about 4 years ago