#graph #algorithms #mathematics

ratio-graph

Ratio's graph manipulation library

19 releases (10 breaking)

new 5.0.0 Mar 16, 2023
4.0.0 Mar 16, 2023
3.0.0 Mar 16, 2023
2.1.0 Mar 14, 2023
0.5.1 Jun 24, 2022

#157 in Math

Download history 8/week @ 2022-11-27 10/week @ 2022-12-04 7/week @ 2022-12-11 19/week @ 2022-12-18 7/week @ 2022-12-25 15/week @ 2023-01-01 8/week @ 2023-01-08 16/week @ 2023-01-15 14/week @ 2023-01-22 13/week @ 2023-01-29 97/week @ 2023-02-05 46/week @ 2023-02-12 46/week @ 2023-02-19 6/week @ 2023-02-26 33/week @ 2023-03-05 167/week @ 2023-03-12

265 downloads per month

GPL-3.0-or-later

340KB
1.5K SLoC

Ratio Graph

Graph manipulation library. In a rather unstable state as it's intended use is internal projects at Ratio CASE.

Changelog

[0.11.2] - 2023-03-20

Changed

  • Sorting dataset keys by default.

[0.11.1] - 2023-03-17

Added

  • Add a default value for ratio_graph::mdm::NodeSelectionMode (independent).
  • Documentation for the internal MDM methods.

[0.11.0] - 2023-03-17

Added

  • A ratio_graph::serialize::CompactGraph struct for more compact serialization/deserialization.
  • All RaGraph datasets available for import in the ratio_graph::datasets module.

[0.10.0] - 2023-03-17

Added

  • aggregate_matrix on EdgeStore trait.

Changed

  • aggregate_map_between_all renamed to aggregate_map so the method naming is more in in line with other method. "between_all" results in single values/aggregates. Matrices and maps don't receive such suffixes.

[0.9.1] - 2023-03-17

Changed

  • Made serde functionality a feature that's enabled by default.

[0.9.0] - 2023-03-17

Added/Changed

  • Major overhaul of internal data storage structure using separate node and edge stores structs and traits.
  • Added convenience methods that implement typical Multi-Domain Matrix (MDM) plotting
  • Added MetadataFilter for filtering based on kinds and labels.
  • Switched to anyhow and thiserror for error handling in Rust.

[0.8.0] - 2022-10-17

Changed

  • Breaking! Changed objects to hold owned data.

[0.7.3] - 2022-09-03

Changed

  • Changed the default value for _edges_forward and _edges_reverse to be a custom method.

[0.7.2] - 2022-09-03

Changed

  • Added a default value for the private _edges_forward and _edges_reverse mappings in a Graph.

[0.7.1] - 2022-09-02

Changed

  • Don't do any mutable actions in the edges getting/checking methods.

[0.7.0] - 2022-09-02

Added

  • Methods on the graph struct to get edges between sources and targets.

[0.6.0] - 2022-09-02

Added

  • Methods on the graph struct to get ascendants and descendants of a node.

Changed

  • Updated dependencies.
  • Convenience methods to create objects now use more reference data types.

[0.5.2] - 2022-06-24

Changed

  • Updated dependencies.

[0.5.1] - 2022-06-24

Changed

  • Adjacency matrix argument types are now all (optional) references.
  • Serialization traits added to Aggregator enum.

[0.5.0] - 2022-06-23

Added

  • Add first implementation of adjacency matrix calculations.

[0.4.0] - 2022-06-23

Added

  • Single update edge maps fn.

Fixed

  • Type in updating of reverse edge map.

[0.3.0] - 2022-06-23

Added

  • Methods to update the cached forward and reverse edge maps manually.

[0.2.0] - 2022-06-17

Added

  • Some tests that instantiate and serialize the various objects.

Changed

  • More groundwork, and aligned types more closely to RaGraph by moving up all metadata fields.

[0.1.0] - 2022-06-16

Added

  • Initial Graph types loosely based on RaGraph.

Dependencies

~5MB
~110K SLoC