You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sorry for the slow reply, last week was pretty busy for me 😅
Thanks to @Ben-geo's review on #172, it should be ready to close (I’ll take a final pass on a couple of points today, but I think it’s mergeable).
The documentation PR is also basically complete; it just needs to be split and reviewed. @EwoutH if you'd like to review the next PRs on the docs, you’re very welcome. I’ll tag you as a reviewer on those.
I think we’re on track to publish 0.2.0 before the end of the year.
We are done with the new documentation (btw do you like it? :) @EwoutH), but there is one last thing I’d really like to do before releasing mesa-frames 0.2.0 to make the performance story strong.
While Boltzmann is relatively easy to get great performance with Polars, Sugarscape-style movement is harder, mostly because of conflicts + space updates + Arrow/Polars immutability.
That said, I think I had a breakthrough (also thanks to GPT-5.2) to add a fast NumPy/Numba “general path” that should improve performance massively (we’re talking ~10× in the Sugarscape benchmark) and expose it as a general API that would also solve #108.
I know this wasn’t in the original scope, but I think it would make the 0.2.0 story much stronger: dramatic speedups for a big chunk of classic ABMs where agents are on a grid and act based on local rules / cell properties.
I am working on it on performance-improvement-sugarscape branch and I will try to open the PR soon.
I just quickly ran thru performance-improvement-sugarscape branch
It looks like a fairly large set of changes - do you think it’s too much for a 0.2.1 release?
If so, I’d suggest we first merge that branch, then do a 0.2.0 release along with it.
@adamamer20 what's your stance on releasing mesa-frames 0.2.0 as is?
I think it would be really great to launch the first official release of mesa-frames. I think Mesa-frames is ready enough to be officially shown to the world. Of course, that's only the start for continued development. And when in 0.x phase, SemVer allows breaking changes every minor release (if needed).
If you agree, maybe coordinate with @tpike3 (and @jackiekazil) on a coordinated effort.
@EwoutH sorry for the delay, I went on holiday and then got sick. Today’s the first day I’m feeling better.
Releasing mesa-frames 0.2.0 sounds good to me. I’d hoped to finish the performance work before tagging, but rather than holding things up, let’s ship now and target the performance improvements for 0.3.0 with enough time to do them properly.
@tpike3@jackiekazil quick note: I logged into PyPI and I still can’t see the mesa org. Could you add me so I can transfer the package under the org? Thanks!
Activity
Ben-geo commentedon Dec 5, 2025
Hi @EwoutH
So there are 2 things in our pipeline
AgentSet+ flexible lookup & stricter separation of concerns #172once the documentations get split and merged we are good to go
EwoutH commentedon Dec 5, 2025
Cool, any help needed?
Would before the holidays be a realistic goal?
adamamer20 commentedon Dec 8, 2025
Sorry for the slow reply, last week was pretty busy for me 😅
Thanks to @Ben-geo's review on #172, it should be ready to close (I’ll take a final pass on a couple of points today, but I think it’s mergeable).
The documentation PR is also basically complete; it just needs to be split and reviewed. @EwoutH if you'd like to review the next PRs on the docs, you’re very welcome. I’ll tag you as a reviewer on those.
I think we’re on track to publish 0.2.0 before the end of the year.
adamamer20 commentedon Dec 22, 2025
We are done with the new documentation (btw do you like it? :) @EwoutH), but there is one last thing I’d really like to do before releasing
mesa-frames 0.2.0to make the performance story strong.While Boltzmann is relatively easy to get great performance with Polars, Sugarscape-style movement is harder, mostly because of conflicts + space updates + Arrow/Polars immutability.
That said, I think I had a breakthrough (also thanks to GPT-5.2) to add a fast NumPy/Numba “general path” that should improve performance massively (we’re talking ~10× in the Sugarscape benchmark) and expose it as a general API that would also solve #108.
I know this wasn’t in the original scope, but I think it would make the 0.2.0 story much stronger: dramatic speedups for a big chunk of classic ABMs where agents are on a grid and act based on local rules / cell properties.
I am working on it on
performance-improvement-sugarscapebranch and I will try to open the PR soon.EwoutH commentedon Dec 22, 2025
Awesome to hear!
Didn’t fully dive in yet, but the comparisons with code blocks with tabs switching between Mesa and Mesa-frames are really awesome!
It’s up to you, you’re in the lead here. The alternative would releasing 0.2.0 now, and doing a 0.2.1 with the updated example. Releases are free :)
But I see the appeal of a strong initial “stable” release, so pick your path.
Excited so see the rapid progress anyways!
Ben-geo commentedon Dec 23, 2025
@adamamer20 Good work on the documentation btw
I just quickly ran thru
performance-improvement-sugarscapebranchIt looks like a fairly large set of changes - do you think it’s too much for a 0.2.1 release?
If so, I’d suggest we first merge that branch, then do a 0.2.0 release along with it.
EwoutH commentedon Jan 2, 2026
I think I'm leaning towards releasing 0.2.0 as-is, and then working on performance for 0.3.0. Then we can (again) announce it big :)
EwoutH commentedon Jan 9, 2026
@adamamer20 what's your stance on releasing mesa-frames 0.2.0 as is?
I think it would be really great to launch the first official release of mesa-frames. I think Mesa-frames is ready enough to be officially shown to the world. Of course, that's only the start for continued development. And when in 0.x phase, SemVer allows breaking changes every minor release (if needed).
If you agree, maybe coordinate with @tpike3 (and @jackiekazil) on a coordinated effort.
adamamer20 commentedon Jan 12, 2026
@EwoutH sorry for the delay, I went on holiday and then got sick. Today’s the first day I’m feeling better.
Releasing mesa-frames 0.2.0 sounds good to me. I’d hoped to finish the performance work before tagging, but rather than holding things up, let’s ship now and target the performance improvements for 0.3.0 with enough time to do them properly.
@tpike3 @jackiekazil quick note: I logged into PyPI and I still can’t see the mesa org. Could you add me so I can transfer the package under the org? Thanks!
EwoutH commentedon Mar 13, 2026
@adamamer20 sorry for the late reply. You should have an invitation from PyPI to join the Mesa organization.