Remove deprecated mesa.experimental.devs simulator module#3530
Merged
Remove deprecated mesa.experimental.devs simulator module#3530
mesa.experimental.devs simulator module#3530Conversation
Remove deprecated mesa.experimental.devs simulator module (Simulator, ABMSimulator, DEVSimulator) and all associated code. These classes were deprecated in Mesa 3.5.0 in favor of the public event scheduling and time advancement API on Model (run_for(), run_until(), schedule_event(), schedule_recurring()). This removes the mesa/experimental/devs/ package, the _simulator attribute from Model, the simulator tests, and updates the experimental __init__.py and documentation accordingly.
Remove SimulatorController component and simulator parameter from SolaraViz. With the simulator classes removed, the visualization no longer needs a separate controller path, all models now use ModelController exclusively.
This comment was marked as off-topic.
This comment was marked as off-topic.
quaquel
approved these changes
Mar 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes the deprecated
Simulator,ABMSimulator, andDEVSimulatorclasses and the entiremesa.experimental.devspackage, completing the deprecation cycle started in Mesa 3.5.0.Motive
The simulator classes were deprecated in 3.5.0 (#3277) when their functionality was replaced by public methods directly on
Model:run_for(),run_until(),schedule_event(), andschedule_recurring(). Per our deprecation policy, deprecated features are removed in the next major release. This PR prepares for Mesa 4.0 by removing these legacy classes.Implementation
mesa/experimental/devs/simulator.pyandmesa/experimental/devs/__init__.pydevsfrommesa.experimental.__init__exports_simulatorattribute and itsTYPE_CHECKINGimport fromModelSimulatorreference from theModeldocstringSimulatorControllercomponent andsimulatorparameter fromSolaraVizSolaraVizto always useModelControllerinstead of branching on simulator presence"simulator"from allowed parameter names in_check_model_paramstests/experimental/test_devs.py(463 lines of simulator-specific tests)tests/test_model.pyDevssection fromdocs/apis/experimental.mdNote that the core event system (
Event,EventList,EventGenerator,Schedule,Priority) is not affected — it was already stabilized intomesa.timein 3.5.0 and remains fully functional.Usage Examples
Users who were still on the deprecated API should migrate as documented in the migration guide:
Additional Notes