Skip to content

refactor: expose graph types as experimental API in fynd-core#104

Open
Haikane wants to merge 1 commit into
mainfrom
ms/expose-graph-module
Open

refactor: expose graph types as experimental API in fynd-core#104
Haikane wants to merge 1 commit into
mainfrom
ms/expose-graph-module

Conversation

@Haikane
Copy link
Copy Markdown
Contributor

@Haikane Haikane commented Mar 17, 2026

Summary

  • Adds an experimental feature flag to fynd-core
  • Re-exports only the specific types needed by downstream consumers (e.g. searchers) through a new fynd_core::experimental module, rather than making the entire graph or feed::events modules public
  • Keeps graph and feed::events as pub(crate) internally

Exported types (behind experimental feature)

Graph: GraphManager, PetgraphStableDiGraphManager, StableDiGraph, EdgeData, EdgeIndex, Path, GraphError, EdgeWeightFromSimAndDerived, EdgeWeightUpdaterWithDerived

Events: MarketEvent, MarketEventHandler, EventError

Usage

[dependencies]
fynd-core = { version = "...", features = ["experimental"] }
use fynd_core::experimental::{GraphManager, StableDiGraph, MarketEventHandler};

Test plan

  • cargo check -p fynd-core passes (no feature)
  • cargo check -p fynd-core --features experimental passes
  • CI passes

@Haikane Haikane changed the title Expose graph module as public API in fynd-core refactor: expose graph module as public API in fynd-core Mar 17, 2026
@Haikane Haikane force-pushed the ms/expose-graph-module branch from 43840cd to 730f1ea Compare March 23, 2026 22:29
@Haikane Haikane changed the title refactor: expose graph module as public API in fynd-core refactor: expose graph types as experimental API in fynd-core Mar 23, 2026
@Haikane Haikane force-pushed the ms/expose-graph-module branch 2 times, most recently from f01b555 to ca83daf Compare March 25, 2026 16:13
…n fynd-core

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Haikane Haikane force-pushed the ms/expose-graph-module branch from ca83daf to 3a59e79 Compare June 3, 2026 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants