Skip to content

add initial commit for routing engine#465

Open
ljwolf wants to merge 4 commits intopysal:mainfrom
ljwolf:main
Open

add initial commit for routing engine#465
ljwolf wants to merge 4 commits intopysal:mainfrom
ljwolf:main

Conversation

@ljwolf
Copy link
Copy Markdown
Member

@ljwolf ljwolf commented Nov 18, 2024

This adds the initial routing engine explained in #464.

@codecov
Copy link
Copy Markdown

codecov bot commented Nov 18, 2024

Codecov Report

❌ Patch coverage is 0% with 354 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.2%. Comparing base (13ca45e) to head (8b11450).
⚠️ Report is 35 commits behind head on main.

Files with missing lines Patch % Lines
spopt/route/utils.py 0.0% 149 Missing ⚠️
spopt/route/heuristic.py 0.0% 147 Missing ⚠️
spopt/route/engine.py 0.0% 58 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##            main    #465     +/-   ##
=======================================
- Coverage   77.8%   70.2%   -7.6%     
=======================================
  Files         27      32      +5     
  Lines       2638    4054   +1416     
=======================================
+ Hits        2053    2846    +793     
- Misses       585    1208    +623     
Files with missing lines Coverage Δ
spopt/route/engine.py 0.0% <0.0%> (ø)
spopt/route/heuristic.py 0.0% <0.0%> (ø)
spopt/route/utils.py 0.0% <0.0%> (ø)

... and 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jGaboardi jGaboardi marked this pull request as ready for review September 26, 2025 15:17
Comment thread notebooks/route.ipynb
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple thoughts from the notebook before getting into code itself

  • notebook refers to spopt.Route
    • Is that meant to be referring to route.heuristic.LastMile?
    • Should we keep LastMile or consider renaming to Route?
    • Or other ideas?
  • need to remove hardcoded pathing -- dylan/projects/gsoc2025

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fiendskrah

  • need to remove hardcoded pathing -- dylan/projects/gsoc2025

Let me know once you've updated the pathing

  • notebook refers to spopt.Route
    • Is that meant to be referring to route.heuristic.LastMile?
    • Should we keep LastMile or consider renaming to Route?
    • Or other ideas?

What are your thought here?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple thoughts from the notebook before getting into code itself

  • notebook refers to spopt.Route

    • Is that meant to be referring to route.heuristic.LastMile?
    • Should we keep LastMile or consider renaming to Route?
    • Or other ideas?
  • need to remove hardcoded pathing -- dylan/projects/gsoc2025

Sorry I did not see this back when you originally posted it.

  • need to remove hardcoded pathing -- dylan/projects/gsoc2025

I have removed the hardcoded pathing issue and will push it up momentarily.

  • Should we keep LastMile or consider renaming to Route?

I would posit that Route is a module of spopt, where LastMile is the first of potentially many solver classes within Route, though I'd defer to the lead maintainers about this.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would posit that Route is a module of spopt, where LastMile is the first of potentially many solver classes within Route, though I'd defer to the lead maintainers about this.

So that would be the route.py module, but that seems OK from my view point.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have removed the hardcoded pathing issue and will push it up momentarily.

Ping me once you have pushed up those removals.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pushed the notebook change up to my PR with the test suite, merging that would propagate it here as well @ljwolf. Let me know if you'd prefer it into pysal:main separately

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we'd like that to propagate here as well. But we'll wait for @ljwolf's direction.

@ljwolf
Copy link
Copy Markdown
Member Author

ljwolf commented Feb 17, 2026

We should definitely try to get this merged. I think it'd be sufficient to run through the precommit hook and address @jGaboardi's comments, but I'll need to re-review for the final merge.

@jGaboardi
Copy link
Copy Markdown
Member

@ljwolf – yep this def fell under the radar for me. Once my comments above are taken care of, please ping me again for more review.

@qszhao
Copy link
Copy Markdown

qszhao commented Feb 17, 2026

Hi both - I don't think we have an update of spopt in this Jan Pysal release (correct me if I am wrong)? Will we wait until the routing engine is reviewed and finished, then both of the GSoC results will be merged into the next release?

@jGaboardi
Copy link
Copy Markdown
Member

Hi both - I don't think we have an update of spopt in this Jan Pysal release (correct me if I am wrong)? Will we wait until the routing engine is reviewed and finished, then both of the GSoC results will be merged into the next release?

Hi, @qszhao ! The latest spopt release is v0.7.0.

We cut a release whenever we like, it really just depends if we want both GSoC contributions in the same release or not.

@qszhao
Copy link
Copy Markdown

qszhao commented Feb 18, 2026

Hi both - I don't think we have an update of spopt in this Jan Pysal release (correct me if I am wrong)? Will we wait until the routing engine is reviewed and finished, then both of the GSoC results will be merged into the next release?

Hi, @qszhao ! The latest spopt release is v0.7.0.

We cut a release whenever we like, it really just depends if we want both GSoC contributions in the same release or not.

Thanks @jGaboardi! I don't see FRLM has been included in 0.7.0, and that's why I ask. I guess that will be out in the next release anyway?

@jGaboardi
Copy link
Copy Markdown
Member

Thanks @jGaboardi! I don't see FRLM has been included in 0.7.0, and that's why I ask.

Correct. v0.7.0 was released in July and the FRLM stuff was not merged until September

I guess that will be out in the next release anyway?

Absolutely.

@jGaboardi
Copy link
Copy Markdown
Member

xref - #507

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants