projectmesa / mesa

Mesa is an open-source Python library for agent-based modeling, ideal for simulating complex systems and exploring emergent behaviors.
https://mesa.readthedocs.io
Apache License 2.0
2.51k stars 879 forks source link

Simplification: merge run.py into server.py #1269

Closed rht closed 2 weeks ago

rht commented 2 years ago

run.py always contains a few lines of code. Should we merge it into server.py to simplify the coding convention? If people need to call server.launch from a different files (e.g. running Mesa simulation as a part of a larger web application), they can define their separate run.py. I'm citing the 80-20 UX rule (see https://lawsofux.com/pareto-principle/) that we should optimize for the 80% of the use case, and hide the remaining 20% until when it is actually needed.

jackiekazil commented 2 years ago

I think the run.py was originally created for 2 reasons...

  1. It was easy to identify which file to run.
  2. The run.py was to explicitly hold more run-type settings but it never did.

I am not against your suggestion especially now that the runserver command exists.

rht commented 1 year ago

I simplified the Boltzmann wealth model layout in https://github.com/projectmesa/mesa-examples/pull/44 into examples/boltzmann_wealth_model/:

To run the GUI, simply do solara run app.py.

jackiekazil commented 1 year ago

How does this work with mesa runserver?

rht commented 1 year ago

mesa runserver could later be a proxy to solara run, but probably later on in 3.0.

quaquel commented 2 weeks ago

this is all deprecated with MESA 3.