-
Notifications
You must be signed in to change notification settings - Fork 0
Update to v0.16.0 #104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to v0.16.0 #104
Conversation
- Reorganized modules: `ngraph.exec` split into `ngraph.analysis` and `ngraph.model`, maintaining public API via re-exports. - Expanded public API to include `TrafficDemand`, `FlowPolicyPreset`, `Scenario`, `NetworkExplorer`, and placement functions. - Introduced `ngraph.analysis.placement` for demand placement with SPF caching, including `place_demands()` and `PlacementResult`.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR reorganizes the codebase to improve modularity and expands the public API surface, bumping the version to 0.16.0.
Key Changes:
- Split
ngraph.execintongraph.analysis(runtime analysis with SPF caching) andngraph.model(data structures for demand/flow configuration) - Introduced
ngraph.analysis.placementmodule for demand placement with SPF caching, includingplace_demands()andPlacementResult - Expanded public API exports:
TrafficDemand,FlowPolicyPreset,Scenario,NetworkExplorer, and placement functions now available from top-level modules
Reviewed changes
Copilot reviewed 39 out of 49 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Version bump to 0.16.0 |
| ngraph/_version.py | Version bump to 0.16.0 |
| ngraph/init.py | Added exports for TrafficDemand, FlowPolicyPreset, Scenario, NetworkExplorer |
| ngraph/analysis/init.py | Expanded exports with placement and demand functions |
| ngraph/analysis/context.py | Moved analyze() function here from init.py |
| ngraph/analysis/placement.py | New module: SPF-cached demand placement with place_demands() |
| ngraph/analysis/demand.py | Moved from ngraph.exec.demand.expand |
| ngraph/analysis/failure_manager.py | Moved from ngraph.exec.failure.manager |
| ngraph/analysis/functions.py | Refactored to use new placement module |
| ngraph/model/demand/init.py | New subpackage with TrafficDemand exports |
| ngraph/model/demand/builder.py | Moved from ngraph.exec.demand.builder |
| ngraph/model/flow/init.py | New subpackage with FlowPolicyPreset exports |
| ngraph/model/failure/init.py | Expanded exports for failure policy classes |
| ngraph/model/init.py | Added public API exports for model classes |
| ngraph/types/init.py | Added exports for enums and DTOs |
| ngraph/results/init.py | Added flow result class exports |
| ngraph/lib/nx.py | Renamed EdgeRef type alias to NxEdgeTuple to avoid confusion |
| ngraph/explorer.py | Refactored _compute_statistics into smaller methods |
| ngraph/scenario.py | Reset workflow execution counter on run() |
| ngraph/workflow/*.py | Updated imports to new paths |
| tests/**/*.py | Updated imports to new module structure |
| docs/reference/*.md | Updated module references and package structure |
| CHANGELOG.md | Added 0.16.0 release notes |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
ngraph.execsplit intongraph.analysisandngraph.model, maintaining public API via re-exports.TrafficDemand,FlowPolicyPreset,Scenario,NetworkExplorer, and placement functions.ngraph.analysis.placementfor demand placement with SPF caching, includingplace_demands()andPlacementResult.Note
Reorganizes modules (exec → analysis/model), introduces a unified SPF-cached placement engine, and broadens the top-level public API while updating docs, types, and tests for v0.16.0.
ngraph.execintongraph.analysis(runtime) andngraph.model(data); re-exports keep top-level API stable (ngraph.__init__).TrafficDemand,FlowPolicyPreset,Scenario,NetworkExplorer, placement types/functions.ngraph.analysis.placement: SPF-cached demand placement (place_demands(),PlacementResult,PlacementEntry,PlacementSummary).ngraph.analysis(analyzemoved tocontext.py; functions inanalysis.functions;FailureManagermoved toanalysis.failure_manager).ngraph.model.demand(builder, matrix, spec) andngraph.model.flow(policy presets); re-exported viangraph.model.Scenarioand workflow steps updated to use new modules; per-instance_execution_counterfor stable step ordering.ngraph.lib.nx.EdgeMapnow maps toNxEdgeTuple; addedngraph.typespackage re-exports.0.16.0.Written by Cursor Bugbot for commit a62b6ec. This will update automatically on new commits. Configure here.