Mesa 2.3.0__tar.gz → 3.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mesa-3.4.0/.coderabbit.yaml +137 -0
- {mesa-2.3.0 → mesa-3.4.0}/.github/ISSUE_TEMPLATE/bug-report.md +2 -1
- mesa-3.4.0/.github/ISSUE_TEMPLATE/config.yml +5 -0
- mesa-3.4.0/.github/PULL_REQUEST_TEMPLATE/bug.md +16 -0
- mesa-3.4.0/.github/PULL_REQUEST_TEMPLATE/feature.md +16 -0
- mesa-3.4.0/.github/pull_request_template.md +4 -0
- {mesa-2.3.0 → mesa-3.4.0}/.github/release.yml +6 -0
- {mesa-2.3.0 → mesa-3.4.0}/.github/workflows/benchmarks.yml +12 -10
- mesa-3.4.0/.github/workflows/build_lint.yml +106 -0
- {mesa-2.3.0 → mesa-3.4.0}/.github/workflows/release.yml +8 -5
- {mesa-2.3.0 → mesa-3.4.0}/.gitignore +7 -4
- {mesa-2.3.0 → mesa-3.4.0}/.pre-commit-config.yaml +5 -9
- {mesa-2.3.0 → mesa-3.4.0}/.readthedocs.yml +3 -3
- mesa-3.4.0/CITATION.cff +62 -0
- {mesa-2.3.0 → mesa-3.4.0}/CODE_OF_CONDUCT.md +11 -1
- mesa-3.4.0/CONTRIBUTING.md +304 -0
- mesa-3.4.0/HISTORY.md +2950 -0
- mesa-3.4.0/LICENSE +202 -0
- mesa-2.3.0/LICENSE → mesa-3.4.0/NOTICE +2 -2
- mesa-3.4.0/PKG-INFO +234 -0
- mesa-3.4.0/README.md +138 -0
- mesa-3.4.0/benchmarks/README.md +99 -0
- {mesa-2.3.0 → mesa-3.4.0}/benchmarks/compare_timings.py +13 -2
- {mesa-2.3.0 → mesa-3.4.0}/benchmarks/configurations.py +36 -8
- {mesa-2.3.0 → mesa-3.4.0}/benchmarks/global_benchmark.py +34 -11
- mesa-3.4.0/binder/environment.yml +16 -0
- {mesa-2.3.0 → mesa-3.4.0}/codecov.yaml +2 -2
- mesa-3.4.0/docs/GSoC.md +52 -0
- {mesa-2.3.0 → mesa-3.4.0}/docs/README.md +6 -6
- mesa-3.4.0/docs/apis/agent.md +8 -0
- {mesa-2.3.0 → mesa-3.4.0}/docs/apis/api_main.md +5 -1
- {mesa-2.3.0 → mesa-3.4.0}/docs/apis/batchrunner.md +2 -0
- {mesa-2.3.0 → mesa-3.4.0}/docs/apis/datacollection.md +2 -0
- mesa-3.4.0/docs/apis/discrete_space.md +41 -0
- mesa-3.4.0/docs/apis/experimental.md +39 -0
- mesa-3.4.0/docs/apis/mesa_logging.md +7 -0
- mesa-2.3.0/docs/apis/time.md → mesa-3.4.0/docs/apis/model.md +3 -1
- {mesa-2.3.0 → mesa-3.4.0}/docs/apis/space.md +2 -0
- mesa-3.4.0/docs/apis/visualization.md +130 -0
- {mesa-2.3.0 → mesa-3.4.0}/docs/best-practices.md +20 -21
- {mesa-2.3.0 → mesa-3.4.0}/docs/conf.py +124 -12
- mesa-3.4.0/docs/example_template.txt +22 -0
- mesa-3.4.0/docs/examples_overview_template.txt +13 -0
- mesa-3.4.0/docs/getting_started.md +58 -0
- mesa-3.4.0/docs/images/Discrete_Space.drawio.png +0 -0
- mesa-3.4.0/docs/images/wolf_sheep.png +0 -0
- mesa-3.4.0/docs/index.md +128 -0
- {mesa-2.3.0 → mesa-3.4.0}/docs/mesa.md +0 -16
- mesa-3.4.0/docs/mesa_extension.md +97 -0
- mesa-3.4.0/docs/migration_guide.md +473 -0
- mesa-3.4.0/docs/overview.md +320 -0
- mesa-3.4.0/docs/tutorials/0_first_model.ipynb +612 -0
- mesa-3.4.0/docs/tutorials/10_comparing_scenarios.ipynb +733 -0
- mesa-3.4.0/docs/tutorials/1_adding_space.ipynb +389 -0
- mesa-3.4.0/docs/tutorials/2_collecting_data.ipynb +531 -0
- mesa-3.4.0/docs/tutorials/3_agentset.ipynb +338 -0
- mesa-3.4.0/docs/tutorials/4_visualization_basic.ipynb +379 -0
- mesa-3.4.0/docs/tutorials/5_visualization_dynamic_agents.ipynb +381 -0
- mesa-3.4.0/docs/tutorials/6_visualization_rendering_with_space_renderer.ipynb +572 -0
- mesa-3.4.0/docs/tutorials/7_visualization_propertylayer_visualization.ipynb +535 -0
- mesa-3.4.0/docs/tutorials/8_visualization_custom.ipynb +433 -0
- mesa-3.4.0/docs/tutorials/9_batch_run.ipynb +501 -0
- {mesa-2.3.0 → mesa-3.4.0}/mesa/__init__.py +9 -11
- mesa-3.4.0/mesa/agent.py +714 -0
- mesa-3.4.0/mesa/batchrunner.py +264 -0
- mesa-3.4.0/mesa/datacollection.py +451 -0
- mesa-3.4.0/mesa/discrete_space/__init__.py +50 -0
- mesa-3.4.0/mesa/discrete_space/cell.py +228 -0
- mesa-3.4.0/mesa/discrete_space/cell_agent.py +144 -0
- mesa-3.4.0/mesa/discrete_space/cell_collection.py +159 -0
- mesa-3.4.0/mesa/discrete_space/discrete_space.py +175 -0
- {mesa-2.3.0/mesa/experimental/cell_space → mesa-3.4.0/mesa/discrete_space}/grid.py +127 -22
- mesa-3.4.0/mesa/discrete_space/network.py +77 -0
- mesa-3.4.0/mesa/discrete_space/property_layer.py +441 -0
- mesa-3.4.0/mesa/discrete_space/voronoi.py +268 -0
- mesa-3.4.0/mesa/examples/README.md +44 -0
- mesa-3.4.0/mesa/examples/__init__.py +23 -0
- mesa-3.4.0/mesa/examples/advanced/alliance_formation/Readme.md +50 -0
- mesa-3.4.0/mesa/examples/advanced/alliance_formation/agents.py +20 -0
- mesa-3.4.0/mesa/examples/advanced/alliance_formation/app.py +71 -0
- mesa-3.4.0/mesa/examples/advanced/alliance_formation/model.py +184 -0
- mesa-3.4.0/mesa/examples/advanced/epstein_civil_violence/Epstein Civil Violence.ipynb +116 -0
- mesa-3.4.0/mesa/examples/advanced/epstein_civil_violence/Readme.md +32 -0
- mesa-3.4.0/mesa/examples/advanced/epstein_civil_violence/agents.py +164 -0
- mesa-3.4.0/mesa/examples/advanced/epstein_civil_violence/app.py +93 -0
- mesa-3.4.0/mesa/examples/advanced/epstein_civil_violence/model.py +137 -0
- mesa-3.4.0/mesa/examples/advanced/pd_grid/Readme.md +41 -0
- mesa-3.4.0/mesa/examples/advanced/pd_grid/agents.py +51 -0
- mesa-3.4.0/mesa/examples/advanced/pd_grid/analysis.ipynb +183 -0
- mesa-3.4.0/mesa/examples/advanced/pd_grid/app.py +62 -0
- mesa-3.4.0/mesa/examples/advanced/pd_grid/model.py +69 -0
- mesa-3.4.0/mesa/examples/advanced/sugarscape_g1mt/Readme.md +63 -0
- mesa-3.4.0/mesa/examples/advanced/sugarscape_g1mt/agents.py +291 -0
- mesa-3.4.0/mesa/examples/advanced/sugarscape_g1mt/app.py +84 -0
- mesa-3.4.0/mesa/examples/advanced/sugarscape_g1mt/model.py +175 -0
- mesa-3.4.0/mesa/examples/advanced/sugarscape_g1mt/sugar-map.txt +50 -0
- mesa-3.4.0/mesa/examples/advanced/wolf_sheep/Readme.md +42 -0
- mesa-3.4.0/mesa/examples/advanced/wolf_sheep/__init__.py +0 -0
- mesa-3.4.0/mesa/examples/advanced/wolf_sheep/agents.py +150 -0
- mesa-3.4.0/mesa/examples/advanced/wolf_sheep/app.py +99 -0
- mesa-3.4.0/mesa/examples/advanced/wolf_sheep/model.py +132 -0
- mesa-3.4.0/mesa/examples/basic/__init__.py +0 -0
- mesa-3.4.0/mesa/examples/basic/boid_flockers/Readme.md +27 -0
- mesa-3.4.0/mesa/examples/basic/boid_flockers/__init__.py +0 -0
- mesa-3.4.0/mesa/examples/basic/boid_flockers/agents.py +92 -0
- mesa-3.4.0/mesa/examples/basic/boid_flockers/app.py +88 -0
- mesa-3.4.0/mesa/examples/basic/boid_flockers/model.py +110 -0
- mesa-3.4.0/mesa/examples/basic/boltzmann_wealth_model/Readme.md +46 -0
- mesa-3.4.0/mesa/examples/basic/boltzmann_wealth_model/__init__.py +0 -0
- mesa-3.4.0/mesa/examples/basic/boltzmann_wealth_model/agents.py +44 -0
- mesa-3.4.0/mesa/examples/basic/boltzmann_wealth_model/app.py +89 -0
- mesa-3.4.0/mesa/examples/basic/boltzmann_wealth_model/model.py +74 -0
- mesa-3.4.0/mesa/examples/basic/boltzmann_wealth_model/st_app.py +115 -0
- mesa-3.4.0/mesa/examples/basic/conways_game_of_life/Readme.md +31 -0
- mesa-3.4.0/mesa/examples/basic/conways_game_of_life/__init__.py +0 -0
- mesa-3.4.0/mesa/examples/basic/conways_game_of_life/agents.py +55 -0
- mesa-3.4.0/mesa/examples/basic/conways_game_of_life/app.py +75 -0
- mesa-3.4.0/mesa/examples/basic/conways_game_of_life/model.py +36 -0
- mesa-3.4.0/mesa/examples/basic/conways_game_of_life/st_app.py +72 -0
- mesa-3.4.0/mesa/examples/basic/schelling/Readme.md +32 -0
- mesa-3.4.0/mesa/examples/basic/schelling/__init__.py +0 -0
- mesa-3.4.0/mesa/examples/basic/schelling/agents.py +47 -0
- mesa-3.4.0/mesa/examples/basic/schelling/analysis.ipynb +211 -0
- mesa-3.4.0/mesa/examples/basic/schelling/app.py +93 -0
- mesa-3.4.0/mesa/examples/basic/schelling/model.py +80 -0
- mesa-3.4.0/mesa/examples/basic/schelling/resources/blue_happy.png +0 -0
- mesa-3.4.0/mesa/examples/basic/schelling/resources/blue_unhappy.png +0 -0
- mesa-3.4.0/mesa/examples/basic/schelling/resources/orange_happy.png +0 -0
- mesa-3.4.0/mesa/examples/basic/schelling/resources/orange_unhappy.png +0 -0
- mesa-3.4.0/mesa/examples/basic/virus_on_network/Readme.md +46 -0
- mesa-3.4.0/mesa/examples/basic/virus_on_network/__init__.py +0 -0
- mesa-3.4.0/mesa/examples/basic/virus_on_network/agents.py +65 -0
- mesa-3.4.0/mesa/examples/basic/virus_on_network/app.py +140 -0
- mesa-3.4.0/mesa/examples/basic/virus_on_network/model.py +92 -0
- mesa-3.4.0/mesa/experimental/__init__.py +19 -0
- mesa-3.4.0/mesa/experimental/continuous_space/__init__.py +8 -0
- mesa-3.4.0/mesa/experimental/continuous_space/continuous_space.py +273 -0
- mesa-3.4.0/mesa/experimental/continuous_space/continuous_space_agents.py +101 -0
- mesa-3.4.0/mesa/experimental/devs/__init__.py +24 -0
- {mesa-2.3.0 → mesa-3.4.0}/mesa/experimental/devs/eventlist.py +72 -15
- {mesa-2.3.0 → mesa-3.4.0}/mesa/experimental/devs/simulator.py +166 -46
- mesa-3.4.0/mesa/experimental/mesa_signals/__init__.py +23 -0
- mesa-3.4.0/mesa/experimental/mesa_signals/mesa_signal.py +485 -0
- mesa-3.4.0/mesa/experimental/mesa_signals/observable_collections.py +133 -0
- mesa-3.4.0/mesa/experimental/mesa_signals/signals_util.py +52 -0
- mesa-3.4.0/mesa/experimental/meta_agents/__init__.py +25 -0
- mesa-3.4.0/mesa/experimental/meta_agents/meta_agent.py +387 -0
- mesa-3.4.0/mesa/mesa_logging.py +190 -0
- mesa-3.4.0/mesa/model.py +251 -0
- {mesa-2.3.0 → mesa-3.4.0}/mesa/space.py +243 -174
- mesa-3.4.0/mesa/visualization/__init__.py +29 -0
- mesa-3.4.0/mesa/visualization/backends/__init__.py +23 -0
- mesa-3.4.0/mesa/visualization/backends/abstract_renderer.py +97 -0
- mesa-3.4.0/mesa/visualization/backends/altair_backend.py +444 -0
- mesa-3.4.0/mesa/visualization/backends/matplotlib_backend.py +425 -0
- mesa-3.4.0/mesa/visualization/command_console.py +482 -0
- mesa-3.4.0/mesa/visualization/components/__init__.py +103 -0
- mesa-3.4.0/mesa/visualization/components/altair_components.py +553 -0
- mesa-3.4.0/mesa/visualization/components/matplotlib_components.py +177 -0
- mesa-3.4.0/mesa/visualization/components/portrayal_components.py +120 -0
- mesa-3.4.0/mesa/visualization/mpl_space_drawing.py +836 -0
- mesa-3.4.0/mesa/visualization/solara_viz.py +952 -0
- mesa-3.4.0/mesa/visualization/space_drawers.py +797 -0
- mesa-3.4.0/mesa/visualization/space_renderer.py +489 -0
- mesa-2.3.0/mesa/experimental/UserParam.py → mesa-3.4.0/mesa/visualization/user_param.py +20 -7
- mesa-3.4.0/mesa/visualization/utils.py +9 -0
- {mesa-2.3.0 → mesa-3.4.0}/pyproject.toml +54 -24
- mesa-3.4.0/tests/__init__.py +1 -0
- mesa-3.4.0/tests/discrete_space/test_discrete_space.py +1094 -0
- {mesa-2.3.0/tests → mesa-3.4.0/tests/discrete_space}/test_grid.py +38 -88
- mesa-3.4.0/tests/discrete_space/test_hexgrid_torus_validation.py +36 -0
- {mesa-2.3.0/tests → mesa-3.4.0/tests/examples}/test_end_to_end_viz.sh +0 -0
- mesa-3.4.0/tests/examples/test_examples.py +122 -0
- mesa-3.4.0/tests/examples/test_examples_viz.py +349 -0
- mesa-3.4.0/tests/experimental/test_continuous_space.py +432 -0
- {mesa-2.3.0/tests → mesa-3.4.0/tests/experimental}/test_devs.py +71 -11
- mesa-3.4.0/tests/experimental/test_mesa_signals.py +290 -0
- mesa-3.4.0/tests/experimental/test_meta_agents.py +307 -0
- {mesa-2.3.0 → mesa-3.4.0}/tests/read_requirements.py +1 -0
- mesa-3.4.0/tests/test_agent.py +712 -0
- mesa-3.4.0/tests/test_batch_run.py +362 -0
- mesa-3.4.0/tests/test_datacollector.py +418 -0
- mesa-3.4.0/tests/test_import_namespace.py +23 -0
- {mesa-2.3.0 → mesa-3.4.0}/tests/test_lifespan.py +27 -28
- mesa-3.4.0/tests/test_mesa_logging.py +47 -0
- mesa-3.4.0/tests/test_model.py +158 -0
- {mesa-2.3.0 → mesa-3.4.0}/tests/test_space.py +164 -172
- mesa-3.4.0/tests/visualization/test_backends.py +337 -0
- mesa-3.4.0/tests/visualization/test_components_matplotlib.py +256 -0
- mesa-3.4.0/tests/visualization/test_portrayal_components.py +143 -0
- mesa-3.4.0/tests/visualization/test_solara_viz.py +331 -0
- mesa-3.4.0/tests/visualization/test_solara_viz_updated.py +354 -0
- mesa-3.4.0/tests/visualization/test_space_drawer.py +313 -0
- mesa-3.4.0/tests/visualization/test_space_renderer.py +209 -0
- mesa-2.3.0/.codespellignore +0 -8
- mesa-2.3.0/.coveragerc +0 -8
- mesa-2.3.0/.github/ISSUE_TEMPLATE/asking-help.md +0 -9
- mesa-2.3.0/.github/workflows/build_lint.yml +0 -82
- mesa-2.3.0/CITATION.bib +0 -19
- mesa-2.3.0/CONTRIBUTING.md +0 -110
- mesa-2.3.0/Dockerfile +0 -38
- mesa-2.3.0/HISTORY.md +0 -1772
- mesa-2.3.0/PKG-INFO +0 -170
- mesa-2.3.0/README.md +0 -121
- mesa-2.3.0/benchmarks/Flocking/flocking.py +0 -166
- mesa-2.3.0/benchmarks/Schelling/schelling.py +0 -109
- mesa-2.3.0/benchmarks/WolfSheep/wolf_sheep.py +0 -254
- mesa-2.3.0/docker-compose.yml +0 -21
- mesa-2.3.0/docs/apis/init.md +0 -11
- mesa-2.3.0/docs/apis/visualization.md +0 -38
- mesa-2.3.0/docs/howto.md +0 -83
- mesa-2.3.0/docs/images/Mesa_Screenshot.png +0 -0
- mesa-2.3.0/docs/images/tutorial/br_ginis.png +0 -0
- mesa-2.3.0/docs/images/tutorial/dc_endwealth.png +0 -0
- mesa-2.3.0/docs/images/tutorial/dc_gini.png +0 -0
- mesa-2.3.0/docs/images/tutorial/dc_oneagent.png +0 -0
- mesa-2.3.0/docs/images/tutorial/first_hist.png +0 -0
- mesa-2.3.0/docs/images/tutorial/multirun_hist.png +0 -0
- mesa-2.3.0/docs/images/tutorial/numpy_grid.png +0 -0
- mesa-2.3.0/docs/images/tutorial/viz_chart.png +0 -0
- mesa-2.3.0/docs/images/tutorial/viz_empty.png +0 -0
- mesa-2.3.0/docs/images/tutorial/viz_greycircles.png +0 -0
- mesa-2.3.0/docs/images/tutorial/viz_histogram.png +0 -0
- mesa-2.3.0/docs/images/tutorial/viz_redcircles.png +0 -0
- mesa-2.3.0/docs/index.md +0 -105
- mesa-2.3.0/docs/mesa.visualization.md +0 -46
- mesa-2.3.0/docs/mesa.visualization.modules.md +0 -76
- mesa-2.3.0/docs/modular-visualization.md +0 -249
- mesa-2.3.0/docs/overview.md +0 -146
- mesa-2.3.0/docs/packages.md +0 -110
- mesa-2.3.0/docs/tutorials/MoneyModel.py +0 -66
- mesa-2.3.0/docs/tutorials/adv_tutorial_legacy.ipynb +0 -510
- mesa-2.3.0/docs/tutorials/files/viz_chart.png +0 -0
- mesa-2.3.0/docs/tutorials/files/viz_empty.png +0 -0
- mesa-2.3.0/docs/tutorials/files/viz_greycircles.png +0 -0
- mesa-2.3.0/docs/tutorials/files/viz_histogram.png +0 -0
- mesa-2.3.0/docs/tutorials/files/viz_redcircles.png +0 -0
- mesa-2.3.0/docs/tutorials/files/viz_slider.png +0 -0
- mesa-2.3.0/docs/tutorials/intro_tutorial.ipynb +0 -1485
- mesa-2.3.0/docs/tutorials/visualization_tutorial.ipynb +0 -271
- mesa-2.3.0/mesa/agent.py +0 -362
- mesa-2.3.0/mesa/batchrunner.py +0 -191
- mesa-2.3.0/mesa/cookiecutter-mesa/cookiecutter.json +0 -8
- mesa-2.3.0/mesa/cookiecutter-mesa/hooks/post_gen_project.py +0 -11
- mesa-2.3.0/mesa/cookiecutter-mesa/{{cookiecutter.snake}}/README.md +0 -4
- mesa-2.3.0/mesa/cookiecutter-mesa/{{cookiecutter.snake}}/run.pytemplate +0 -3
- mesa-2.3.0/mesa/cookiecutter-mesa/{{cookiecutter.snake}}/setup.pytemplate +0 -11
- mesa-2.3.0/mesa/cookiecutter-mesa/{{cookiecutter.snake}}/{{cookiecutter.snake}}/model.pytemplate +0 -60
- mesa-2.3.0/mesa/cookiecutter-mesa/{{cookiecutter.snake}}/{{cookiecutter.snake}}/server.pytemplate +0 -36
- mesa-2.3.0/mesa/datacollection.py +0 -280
- mesa-2.3.0/mesa/experimental/__init__.py +0 -5
- mesa-2.3.0/mesa/experimental/cell_space/__init__.py +0 -23
- mesa-2.3.0/mesa/experimental/cell_space/cell.py +0 -152
- mesa-2.3.0/mesa/experimental/cell_space/cell_agent.py +0 -37
- mesa-2.3.0/mesa/experimental/cell_space/cell_collection.py +0 -81
- mesa-2.3.0/mesa/experimental/cell_space/discrete_space.py +0 -64
- mesa-2.3.0/mesa/experimental/cell_space/network.py +0 -40
- mesa-2.3.0/mesa/experimental/components/altair.py +0 -72
- mesa-2.3.0/mesa/experimental/components/matplotlib.py +0 -136
- mesa-2.3.0/mesa/experimental/devs/__init__.py +0 -4
- mesa-2.3.0/mesa/experimental/devs/examples/epstein_civil_violence.py +0 -273
- mesa-2.3.0/mesa/experimental/devs/examples/wolf_sheep.py +0 -250
- mesa-2.3.0/mesa/experimental/jupyter_viz.py +0 -400
- mesa-2.3.0/mesa/flat/__init__.py +0 -6
- mesa-2.3.0/mesa/flat/visualization.py +0 -5
- mesa-2.3.0/mesa/main.py +0 -63
- mesa-2.3.0/mesa/model.py +0 -163
- mesa-2.3.0/mesa/time.py +0 -408
- mesa-2.3.0/mesa/visualization/ModularVisualization.py +0 -1
- mesa-2.3.0/mesa/visualization/TextVisualization.py +0 -1
- mesa-2.3.0/mesa/visualization/UserParam.py +0 -1
- mesa-2.3.0/mesa/visualization/__init__.py +0 -7
- mesa-2.3.0/mesa/visualization/modules.py +0 -1
- mesa-2.3.0/mypy.ini +0 -2
- mesa-2.3.0/tests/test_agent.py +0 -284
- mesa-2.3.0/tests/test_batch_run.py +0 -200
- mesa-2.3.0/tests/test_cell_space.py +0 -465
- mesa-2.3.0/tests/test_datacollector.py +0 -234
- mesa-2.3.0/tests/test_examples.py +0 -68
- mesa-2.3.0/tests/test_import_namespace.py +0 -33
- mesa-2.3.0/tests/test_jupyter_viz.py +0 -153
- mesa-2.3.0/tests/test_main.py +0 -34
- mesa-2.3.0/tests/test_model.py +0 -53
- mesa-2.3.0/tests/test_scaffold.py +0 -22
- mesa-2.3.0/tests/test_time.py +0 -342
- mesa-2.3.0/tests/test_tornado.py +0 -41
- mesa-2.3.0/tests/test_usersettableparam.py +0 -57
- mesa-2.3.0/tests/test_visualization.py +0 -105
- {mesa-2.3.0 → mesa-3.4.0}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
- {mesa-2.3.0 → mesa-3.4.0}/.github/dependabot.yml +0 -0
- {mesa-2.3.0 → mesa-3.4.0}/docs/Makefile +0 -0
- {mesa-2.3.0 → mesa-3.4.0}/docs/images/mesa_logo.ico +0 -0
- {mesa-2.3.0 → mesa-3.4.0}/docs/images/mesa_logo.png +0 -0
- {mesa-2.3.0 → mesa-3.4.0}/docs/make.bat +0 -0
- {mesa-2.3.0/benchmarks/Flocking → mesa-3.4.0/mesa/examples/advanced}/__init__.py +0 -0
- /mesa-2.3.0/benchmarks/Schelling/__init__.py → /mesa-3.4.0/mesa/examples/advanced/alliance_formation/__init__ .py +0 -0
- {mesa-2.3.0/benchmarks/WolfSheep → mesa-3.4.0/mesa/examples/advanced/epstein_civil_violence}/__init__.py +0 -0
- {mesa-2.3.0/mesa/cookiecutter-mesa/{{cookiecutter.snake}}/{{cookiecutter.snake}} → mesa-3.4.0/mesa/examples/advanced/pd_grid}/__init__.py +0 -0
- {mesa-2.3.0/tests → mesa-3.4.0/mesa/examples/advanced/sugarscape_g1mt}/__init__.py +0 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
language: en-US
|
|
2
|
+
tone_instructions: ''
|
|
3
|
+
early_access: false
|
|
4
|
+
enable_free_tier: true
|
|
5
|
+
reviews:
|
|
6
|
+
profile: chill
|
|
7
|
+
request_changes_workflow: false
|
|
8
|
+
high_level_summary: true
|
|
9
|
+
high_level_summary_placeholder: '@coderabbitai summary'
|
|
10
|
+
high_level_summary_in_walkthrough: false
|
|
11
|
+
auto_title_placeholder: '@coderabbitai'
|
|
12
|
+
auto_title_instructions: ''
|
|
13
|
+
review_status: false
|
|
14
|
+
commit_status: true
|
|
15
|
+
fail_commit_status: false
|
|
16
|
+
collapse_walkthrough: false
|
|
17
|
+
changed_files_summary: true
|
|
18
|
+
sequence_diagrams: true
|
|
19
|
+
assess_linked_issues: true
|
|
20
|
+
related_issues: true
|
|
21
|
+
related_prs: true
|
|
22
|
+
suggested_labels: true
|
|
23
|
+
auto_apply_labels: false
|
|
24
|
+
suggested_reviewers: true
|
|
25
|
+
auto_assign_reviewers: false
|
|
26
|
+
poem: true
|
|
27
|
+
labeling_instructions: []
|
|
28
|
+
path_filters: []
|
|
29
|
+
path_instructions: []
|
|
30
|
+
abort_on_close: true
|
|
31
|
+
disable_cache: false
|
|
32
|
+
auto_review:
|
|
33
|
+
enabled: false
|
|
34
|
+
auto_incremental_review: false
|
|
35
|
+
ignore_title_keywords: []
|
|
36
|
+
labels: []
|
|
37
|
+
drafts: false
|
|
38
|
+
base_branches: []
|
|
39
|
+
finishing_touches:
|
|
40
|
+
docstrings:
|
|
41
|
+
enabled: true
|
|
42
|
+
tools:
|
|
43
|
+
ast-grep:
|
|
44
|
+
rule_dirs: []
|
|
45
|
+
util_dirs: []
|
|
46
|
+
essential_rules: true
|
|
47
|
+
packages: []
|
|
48
|
+
shellcheck:
|
|
49
|
+
enabled: true
|
|
50
|
+
ruff:
|
|
51
|
+
enabled: true
|
|
52
|
+
markdownlint:
|
|
53
|
+
enabled: true
|
|
54
|
+
github-checks:
|
|
55
|
+
enabled: true
|
|
56
|
+
timeout_ms: 180000
|
|
57
|
+
languagetool:
|
|
58
|
+
enabled: true
|
|
59
|
+
enabled_rules: []
|
|
60
|
+
disabled_rules: []
|
|
61
|
+
enabled_categories: []
|
|
62
|
+
disabled_categories: []
|
|
63
|
+
enabled_only: false
|
|
64
|
+
level: default
|
|
65
|
+
biome:
|
|
66
|
+
enabled: true
|
|
67
|
+
hadolint:
|
|
68
|
+
enabled: true
|
|
69
|
+
swiftlint:
|
|
70
|
+
enabled: true
|
|
71
|
+
phpstan:
|
|
72
|
+
enabled: true
|
|
73
|
+
level: default
|
|
74
|
+
golangci-lint:
|
|
75
|
+
enabled: true
|
|
76
|
+
yamllint:
|
|
77
|
+
enabled: true
|
|
78
|
+
gitleaks:
|
|
79
|
+
enabled: true
|
|
80
|
+
checkov:
|
|
81
|
+
enabled: true
|
|
82
|
+
detekt:
|
|
83
|
+
enabled: true
|
|
84
|
+
eslint:
|
|
85
|
+
enabled: true
|
|
86
|
+
rubocop:
|
|
87
|
+
enabled: true
|
|
88
|
+
buf:
|
|
89
|
+
enabled: true
|
|
90
|
+
regal:
|
|
91
|
+
enabled: true
|
|
92
|
+
actionlint:
|
|
93
|
+
enabled: true
|
|
94
|
+
pmd:
|
|
95
|
+
enabled: true
|
|
96
|
+
cppcheck:
|
|
97
|
+
enabled: true
|
|
98
|
+
semgrep:
|
|
99
|
+
enabled: true
|
|
100
|
+
circleci:
|
|
101
|
+
enabled: true
|
|
102
|
+
sqlfluff:
|
|
103
|
+
enabled: true
|
|
104
|
+
prismaLint:
|
|
105
|
+
enabled: true
|
|
106
|
+
oxc:
|
|
107
|
+
enabled: true
|
|
108
|
+
shopifyThemeCheck:
|
|
109
|
+
enabled: true
|
|
110
|
+
chat:
|
|
111
|
+
auto_reply: true
|
|
112
|
+
create_issues: true
|
|
113
|
+
integrations:
|
|
114
|
+
jira:
|
|
115
|
+
usage: auto
|
|
116
|
+
linear:
|
|
117
|
+
usage: auto
|
|
118
|
+
knowledge_base:
|
|
119
|
+
opt_out: false
|
|
120
|
+
web_search:
|
|
121
|
+
enabled: true
|
|
122
|
+
learnings:
|
|
123
|
+
scope: auto
|
|
124
|
+
issues:
|
|
125
|
+
scope: auto
|
|
126
|
+
jira:
|
|
127
|
+
usage: auto
|
|
128
|
+
project_keys: []
|
|
129
|
+
linear:
|
|
130
|
+
usage: auto
|
|
131
|
+
team_keys: []
|
|
132
|
+
pull_requests:
|
|
133
|
+
scope: auto
|
|
134
|
+
code_generation:
|
|
135
|
+
docstrings:
|
|
136
|
+
language: en-US
|
|
137
|
+
path_instructions: []
|
|
@@ -11,7 +11,8 @@ about: Let us know if something is broken on Mesa
|
|
|
11
11
|
<!-- A clear and concise description of what you expected to happen -->
|
|
12
12
|
|
|
13
13
|
**To Reproduce**
|
|
14
|
-
<!-- Steps to reproduce the bug, or a link to a project where the bug is visible
|
|
14
|
+
<!-- Steps to reproduce the bug, or a link to a project where the bug is visible
|
|
15
|
+
Include a Minimal reproducible example: https://stackoverflow.com/help/minimal-reproducible-example -->
|
|
15
16
|
|
|
16
17
|
**Additional context**
|
|
17
18
|
<!--
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
### Summary
|
|
2
|
+
<!-- Provide a brief summary of the bug and its impact. -->
|
|
3
|
+
|
|
4
|
+
### Bug / Issue
|
|
5
|
+
<!-- Link to the related issue(s) and describe the bug. Include details like the context, what was expected, and what actually happened. -->
|
|
6
|
+
|
|
7
|
+
### Implementation
|
|
8
|
+
<!-- Describe the changes made to resolve the issue. Highlight any important parts of the code that were modified. -->
|
|
9
|
+
|
|
10
|
+
### Testing
|
|
11
|
+
<!-- Detail the testing performed to verify the fix. Include information on test cases, steps taken, and any relevant results.
|
|
12
|
+
|
|
13
|
+
If you're fixing the visualisation, add before/after screenshots. -->
|
|
14
|
+
|
|
15
|
+
### Additional Notes
|
|
16
|
+
<!-- Add any additional information that may be relevant for the reviewers, such as potential side effects, dependencies, or related work.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
### Summary
|
|
2
|
+
<!-- Provide a concise summary of the feature and its purpose. -->
|
|
3
|
+
|
|
4
|
+
### Motive
|
|
5
|
+
<!-- Explain the reasoning behind this feature. Include details on the problem it addresses or the enhancement it provides. -->
|
|
6
|
+
|
|
7
|
+
### Implementation
|
|
8
|
+
<!-- Describe how the feature was implemented. Include details on the approach taken, important decisions made, and code changes. -->
|
|
9
|
+
|
|
10
|
+
### Usage Examples
|
|
11
|
+
<!-- Provide code snippets or examples demonstrating how to use the new feature. Highlight key scenarios where this feature will be beneficial.
|
|
12
|
+
|
|
13
|
+
If you're modifying the visualisation, add before/after screenshots. -->
|
|
14
|
+
|
|
15
|
+
### Additional Notes
|
|
16
|
+
<!-- Add any additional information that may be relevant for the reviewers, such as potential side effects, dependencies, or related work. -->
|
|
@@ -7,6 +7,9 @@ changelog:
|
|
|
7
7
|
- title: ⚠️ Breaking changes
|
|
8
8
|
labels:
|
|
9
9
|
- breaking
|
|
10
|
+
- title: ⏳ Deprecations
|
|
11
|
+
labels:
|
|
12
|
+
- deprecation
|
|
10
13
|
- title: 🧪 Experimental features
|
|
11
14
|
labels:
|
|
12
15
|
- experimental
|
|
@@ -19,6 +22,9 @@ changelog:
|
|
|
19
22
|
- title: 🐛 Bugs fixed
|
|
20
23
|
labels:
|
|
21
24
|
- bug
|
|
25
|
+
- title: 🔍 Examples updated
|
|
26
|
+
labels:
|
|
27
|
+
- example
|
|
22
28
|
- title: 📜 Documentation improvements
|
|
23
29
|
labels:
|
|
24
30
|
- docs
|
|
@@ -23,19 +23,21 @@ jobs:
|
|
|
23
23
|
steps:
|
|
24
24
|
# Python and dependency setup
|
|
25
25
|
- name: Set up Python
|
|
26
|
-
uses: actions/setup-python@
|
|
26
|
+
uses: actions/setup-python@v6
|
|
27
27
|
with:
|
|
28
|
-
python-version: '3.
|
|
28
|
+
python-version: '3.14'
|
|
29
29
|
- name: Add project directory to PYTHONPATH
|
|
30
30
|
run: echo "PYTHONPATH=$PYTHONPATH:$(pwd)" >> $GITHUB_ENV
|
|
31
|
+
- name: Install uv
|
|
32
|
+
run: pip install uv
|
|
31
33
|
- name: Install dependencies
|
|
32
|
-
run: pip install numpy pandas tqdm tabulate matplotlib solara networkx
|
|
33
|
-
# Benchmarks on the
|
|
34
|
+
run: uv pip install --system numpy pandas tqdm tabulate matplotlib solara networkx scipy
|
|
35
|
+
# Benchmarks on the mesa main branch
|
|
34
36
|
- name: Checkout main branch
|
|
35
|
-
uses: actions/checkout@
|
|
37
|
+
uses: actions/checkout@v6
|
|
36
38
|
with:
|
|
37
39
|
ref: main
|
|
38
|
-
repository:
|
|
40
|
+
repository: mesa/mesa
|
|
39
41
|
- name: Install Mesa
|
|
40
42
|
run: pip install --no-deps .
|
|
41
43
|
- name: Run benchmarks on main branch
|
|
@@ -43,12 +45,12 @@ jobs:
|
|
|
43
45
|
run: python global_benchmark.py
|
|
44
46
|
# Upload benchmarks, checkout PR branch, download benchmarks
|
|
45
47
|
- name: Upload benchmark results
|
|
46
|
-
uses: actions/upload-artifact@
|
|
48
|
+
uses: actions/upload-artifact@v6
|
|
47
49
|
with:
|
|
48
50
|
name: timings-main
|
|
49
51
|
path: benchmarks/timings_1.pickle
|
|
50
52
|
- name: Checkout PR branch
|
|
51
|
-
uses: actions/checkout@
|
|
53
|
+
uses: actions/checkout@v6
|
|
52
54
|
if: github.event_name == 'pull_request_target'
|
|
53
55
|
with:
|
|
54
56
|
ref: ${{ github.event.pull_request.head.ref }}
|
|
@@ -59,7 +61,7 @@ jobs:
|
|
|
59
61
|
- name: Install Mesa of the PR branch
|
|
60
62
|
run: pip install --no-deps .
|
|
61
63
|
- name: Download benchmark results
|
|
62
|
-
uses: actions/download-artifact@
|
|
64
|
+
uses: actions/download-artifact@v7
|
|
63
65
|
with:
|
|
64
66
|
name: timings-main
|
|
65
67
|
path: benchmarks
|
|
@@ -74,7 +76,7 @@ jobs:
|
|
|
74
76
|
TIMING_COMPARISON=$(python compare_timings.py | base64 -w 0) # Base64 encode the output
|
|
75
77
|
echo "TIMING_COMPARISON=$TIMING_COMPARISON" >> $GITHUB_ENV
|
|
76
78
|
- name: Comment PR
|
|
77
|
-
uses: actions/github-script@
|
|
79
|
+
uses: actions/github-script@v8
|
|
78
80
|
with:
|
|
79
81
|
script: |
|
|
80
82
|
const output = Buffer.from(process.env.TIMING_COMPARISON, 'base64').toString('utf-8');
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
name: build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
- release**
|
|
8
|
+
paths-ignore:
|
|
9
|
+
- "**.md"
|
|
10
|
+
pull_request:
|
|
11
|
+
paths-ignore:
|
|
12
|
+
- "**.md"
|
|
13
|
+
workflow_dispatch:
|
|
14
|
+
schedule:
|
|
15
|
+
- cron: "0 6 * * 1"
|
|
16
|
+
|
|
17
|
+
# This will cancel previous run if a newer job that obsoletes the said previous
|
|
18
|
+
# run, is started.
|
|
19
|
+
# Based on https://github.com/zulip/zulip/commit/4a11642cee3c8aec976d305d51a86e60e5d70522
|
|
20
|
+
concurrency:
|
|
21
|
+
group: "${{ github.workflow }}-${{ github.head_ref || github.run_id }}"
|
|
22
|
+
cancel-in-progress: true
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
build:
|
|
26
|
+
runs-on: ${{ matrix.os }}-latest
|
|
27
|
+
# We need an explicit timeout because sometimes the batch_runner test never
|
|
28
|
+
# completes.
|
|
29
|
+
timeout-minutes: 6
|
|
30
|
+
strategy:
|
|
31
|
+
fail-fast: False
|
|
32
|
+
matrix:
|
|
33
|
+
os: [windows, ubuntu, macos]
|
|
34
|
+
python-version: ["3.14"]
|
|
35
|
+
pip-pre: [""]
|
|
36
|
+
include:
|
|
37
|
+
- os: ubuntu
|
|
38
|
+
python-version: "3.13"
|
|
39
|
+
- os: ubuntu
|
|
40
|
+
python-version: "3.12"
|
|
41
|
+
- os: ubuntu
|
|
42
|
+
python-version: "3.14"
|
|
43
|
+
pip-pre: "--pre"
|
|
44
|
+
# Disabled for now. See https://github.com/mesa/mesa/issues/1253
|
|
45
|
+
#- os: ubuntu
|
|
46
|
+
# python-version: 'pypy-3.8'
|
|
47
|
+
|
|
48
|
+
steps:
|
|
49
|
+
- uses: actions/checkout@v6
|
|
50
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
51
|
+
uses: actions/setup-python@v6
|
|
52
|
+
with:
|
|
53
|
+
python-version: ${{ matrix.python-version }}
|
|
54
|
+
allow-prereleases: true
|
|
55
|
+
cache: "pip"
|
|
56
|
+
- name: Install uv
|
|
57
|
+
run: pip install uv
|
|
58
|
+
- name: Install Mesa and dependencies
|
|
59
|
+
run: uv pip install --system .[dev] ${{ matrix.pip-pre }}
|
|
60
|
+
- name: Setup Playwright
|
|
61
|
+
run: playwright install chromium-headless-shell
|
|
62
|
+
- name: Test with pytest
|
|
63
|
+
run: pytest --durations=10 tests/ -Werror -Wdefault::PendingDeprecationWarning
|
|
64
|
+
|
|
65
|
+
coverage:
|
|
66
|
+
runs-on: ubuntu-latest
|
|
67
|
+
timeout-minutes: 6
|
|
68
|
+
steps:
|
|
69
|
+
- uses: actions/checkout@v6
|
|
70
|
+
- uses: actions/setup-python@v6
|
|
71
|
+
with:
|
|
72
|
+
python-version: "3.14"
|
|
73
|
+
- run: pip install uv
|
|
74
|
+
- run: uv pip install --system .[dev]
|
|
75
|
+
- run: playwright install chromium-headless-shell
|
|
76
|
+
- run: |
|
|
77
|
+
coverage run -m pytest tests/
|
|
78
|
+
coverage xml
|
|
79
|
+
- uses: codecov/codecov-action@v5
|
|
80
|
+
with:
|
|
81
|
+
fail_ci_if_error: true
|
|
82
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
83
|
+
|
|
84
|
+
examples:
|
|
85
|
+
runs-on: ubuntu-latest
|
|
86
|
+
steps:
|
|
87
|
+
- uses: actions/checkout@v6
|
|
88
|
+
- name: Set up Python
|
|
89
|
+
uses: actions/setup-python@v6
|
|
90
|
+
with:
|
|
91
|
+
python-version: "3.13"
|
|
92
|
+
allow-prereleases: true
|
|
93
|
+
cache: "pip"
|
|
94
|
+
- name: Install uv
|
|
95
|
+
run: pip install uv
|
|
96
|
+
- name: Install Mesa
|
|
97
|
+
run: uv pip install --system .[examples]
|
|
98
|
+
- name: Checkout mesa-examples
|
|
99
|
+
uses: actions/checkout@v6
|
|
100
|
+
with:
|
|
101
|
+
repository: mesa/mesa-examples
|
|
102
|
+
path: mesa-examples
|
|
103
|
+
- name: Test examples
|
|
104
|
+
run: |
|
|
105
|
+
cd mesa-examples
|
|
106
|
+
pytest -rA -Werror -Wdefault::PendingDeprecationWarning test_examples.py
|
|
@@ -14,6 +14,8 @@ on:
|
|
|
14
14
|
- '**.md'
|
|
15
15
|
- '**.rst'
|
|
16
16
|
workflow_dispatch:
|
|
17
|
+
schedule:
|
|
18
|
+
- cron: '0 6 * * 1'
|
|
17
19
|
|
|
18
20
|
permissions:
|
|
19
21
|
id-token: write
|
|
@@ -26,19 +28,20 @@ jobs:
|
|
|
26
28
|
id-token: write
|
|
27
29
|
steps:
|
|
28
30
|
- name: Checkout source
|
|
29
|
-
uses: actions/checkout@
|
|
31
|
+
uses: actions/checkout@v6
|
|
30
32
|
- name: Set up Python
|
|
31
|
-
uses: actions/setup-python@
|
|
33
|
+
uses: actions/setup-python@v6
|
|
32
34
|
with:
|
|
33
|
-
python-version: "3.
|
|
35
|
+
python-version: "3.14"
|
|
36
|
+
allow-prereleases: true
|
|
34
37
|
cache: 'pip'
|
|
35
38
|
- name: Install dependencies
|
|
36
39
|
run: pip install -U pip hatch
|
|
37
40
|
- name: Build distributions
|
|
38
41
|
run: hatch build
|
|
39
42
|
- name: Upload package as artifact to GitHub
|
|
40
|
-
if: github.repository == '
|
|
41
|
-
uses: actions/upload-artifact@
|
|
43
|
+
if: github.repository == 'mesa/mesa' && startsWith(github.ref, 'refs/tags')
|
|
44
|
+
uses: actions/upload-artifact@v6
|
|
42
45
|
with:
|
|
43
46
|
name: package
|
|
44
47
|
path: dist/
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# Benchmarking
|
|
2
2
|
benchmarks/**/*.pickle
|
|
3
3
|
|
|
4
|
+
# exampledocs
|
|
5
|
+
docs/examples/*
|
|
6
|
+
docs/example.md
|
|
7
|
+
|
|
4
8
|
# Byte-compiled / optimized / DLL files
|
|
5
9
|
__pycache__/
|
|
6
10
|
*.py[cod]
|
|
@@ -15,6 +19,8 @@ __pycache__/
|
|
|
15
19
|
.Python
|
|
16
20
|
env/
|
|
17
21
|
venv/
|
|
22
|
+
pythonenv*/
|
|
23
|
+
.venv/
|
|
18
24
|
build/
|
|
19
25
|
develop-eggs/
|
|
20
26
|
dist/
|
|
@@ -63,6 +69,7 @@ target/
|
|
|
63
69
|
|
|
64
70
|
# Jupyter and iPython notebook checkpoints
|
|
65
71
|
*.ipynb_checkpoints
|
|
72
|
+
*.virtual_documents
|
|
66
73
|
|
|
67
74
|
# Spyder app workspace config file
|
|
68
75
|
.spyderworkspace
|
|
@@ -83,10 +90,6 @@ target/
|
|
|
83
90
|
.dmypy.json
|
|
84
91
|
dmypy.json
|
|
85
92
|
|
|
86
|
-
# pythonenv
|
|
87
|
-
pythonenv*/
|
|
88
|
-
|
|
89
93
|
# JS dependencies
|
|
90
94
|
mesa/visualization/templates/external/
|
|
91
95
|
mesa/visualization/templates/js/external/
|
|
92
|
-
|
|
@@ -4,7 +4,7 @@ ci:
|
|
|
4
4
|
repos:
|
|
5
5
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
6
6
|
# Ruff version.
|
|
7
|
-
rev: v0.
|
|
7
|
+
rev: v0.14.7
|
|
8
8
|
hooks:
|
|
9
9
|
# Run the linter.
|
|
10
10
|
- id: ruff
|
|
@@ -14,21 +14,17 @@ repos:
|
|
|
14
14
|
- id: ruff-format
|
|
15
15
|
types_or: [ python, pyi, jupyter ]
|
|
16
16
|
- repo: https://github.com/asottile/pyupgrade
|
|
17
|
-
rev: v3.
|
|
17
|
+
rev: v3.21.2
|
|
18
18
|
hooks:
|
|
19
19
|
- id: pyupgrade
|
|
20
|
-
args: [--
|
|
20
|
+
args: [--py312-plus]
|
|
21
21
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
22
|
-
rev:
|
|
22
|
+
rev: v6.0.0 # Use the ref you want to point at
|
|
23
23
|
hooks:
|
|
24
24
|
- id: trailing-whitespace
|
|
25
25
|
- id: check-toml
|
|
26
26
|
- id: check-yaml
|
|
27
27
|
- repo: https://github.com/codespell-project/codespell
|
|
28
|
-
rev: v2.
|
|
28
|
+
rev: v2.4.1
|
|
29
29
|
hooks:
|
|
30
30
|
- id: codespell
|
|
31
|
-
args: [
|
|
32
|
-
"--ignore-words",
|
|
33
|
-
".codespellignore",
|
|
34
|
-
]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Read the Docs configuration file
|
|
2
|
-
# See https://docs.readthedocs.io/
|
|
2
|
+
# See https://docs.readthedocs.io/stable/config-file/v2.html for details
|
|
3
3
|
|
|
4
4
|
# Required
|
|
5
5
|
version: 2
|
|
@@ -13,9 +13,9 @@ formats:
|
|
|
13
13
|
- pdf
|
|
14
14
|
|
|
15
15
|
build:
|
|
16
|
-
os:
|
|
16
|
+
os: ubuntu-lts-latest
|
|
17
17
|
tools:
|
|
18
|
-
python:
|
|
18
|
+
python: latest
|
|
19
19
|
|
|
20
20
|
# Optionally set the version of Python and requirements required to build your docs
|
|
21
21
|
python:
|
mesa-3.4.0/CITATION.cff
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
cff-version: "1.2.0"
|
|
2
|
+
authors:
|
|
3
|
+
- family-names: Hoeven
|
|
4
|
+
given-names: Ewout
|
|
5
|
+
name-particle: ter
|
|
6
|
+
orcid: "https://orcid.org/0009-0002-0805-3425"
|
|
7
|
+
- family-names: Kwakkel
|
|
8
|
+
given-names: Jan
|
|
9
|
+
orcid: "https://orcid.org/0000-0001-9447-2954"
|
|
10
|
+
- family-names: Hess
|
|
11
|
+
given-names: Vincent
|
|
12
|
+
orcid: "https://orcid.org/0000-0002-9242-8500"
|
|
13
|
+
- family-names: Pike
|
|
14
|
+
given-names: Thomas
|
|
15
|
+
orcid: "https://orcid.org/0000-0003-1576-0283"
|
|
16
|
+
- family-names: Wang
|
|
17
|
+
given-names: Boyu
|
|
18
|
+
orcid: "https://orcid.org/0000-0001-9879-2138"
|
|
19
|
+
- family-names: rht
|
|
20
|
+
orcid: "https://orcid.org/0009-0002-6902-111X"
|
|
21
|
+
- family-names: Kazil
|
|
22
|
+
given-names: Jackie
|
|
23
|
+
orcid: "https://orcid.org/0000-0002-8300-7384"
|
|
24
|
+
doi: 10.5281/zenodo.15090710
|
|
25
|
+
message: If you use this software, please cite our article in the
|
|
26
|
+
Journal of Open Source Software.
|
|
27
|
+
preferred-citation:
|
|
28
|
+
authors:
|
|
29
|
+
- family-names: Hoeven
|
|
30
|
+
given-names: Ewout
|
|
31
|
+
name-particle: ter
|
|
32
|
+
orcid: "https://orcid.org/0009-0002-0805-3425"
|
|
33
|
+
- family-names: Kwakkel
|
|
34
|
+
given-names: Jan
|
|
35
|
+
orcid: "https://orcid.org/0000-0001-9447-2954"
|
|
36
|
+
- family-names: Hess
|
|
37
|
+
given-names: Vincent
|
|
38
|
+
orcid: "https://orcid.org/0000-0002-9242-8500"
|
|
39
|
+
- family-names: Pike
|
|
40
|
+
given-names: Thomas
|
|
41
|
+
orcid: "https://orcid.org/0000-0003-1576-0283"
|
|
42
|
+
- family-names: Wang
|
|
43
|
+
given-names: Boyu
|
|
44
|
+
orcid: "https://orcid.org/0000-0001-9879-2138"
|
|
45
|
+
- family-names: rht
|
|
46
|
+
orcid: "https://orcid.org/0009-0002-6902-111X"
|
|
47
|
+
- family-names: Kazil
|
|
48
|
+
given-names: Jackie
|
|
49
|
+
orcid: "https://orcid.org/0000-0002-8300-7384"
|
|
50
|
+
date-published: 2025-03-28
|
|
51
|
+
doi: 10.21105/joss.07668
|
|
52
|
+
issn: 2475-9066
|
|
53
|
+
issue: 107
|
|
54
|
+
journal: Journal of Open Source Software
|
|
55
|
+
publisher:
|
|
56
|
+
name: Open Journals
|
|
57
|
+
start: 7668
|
|
58
|
+
title: "Mesa 3: Agent-based modeling with Python in 2025"
|
|
59
|
+
type: article
|
|
60
|
+
url: "https://joss.theoj.org/papers/10.21105/joss.07668"
|
|
61
|
+
volume: 10
|
|
62
|
+
title: "Mesa 3: Agent-based modeling with Python in 2025"
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
We as members, contributors, and leaders pledge to make participation in our
|
|
6
6
|
community a harassment-free experience for everyone, regardless of age, body
|
|
7
7
|
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
|
8
|
-
identity and expression, level of experience, education,
|
|
8
|
+
identity and expression, level of experience, education, socioeconomic status,
|
|
9
9
|
nationality, personal appearance, race, caste, color, religion, or sexual
|
|
10
10
|
identity and orientation.
|
|
11
11
|
|
|
@@ -36,6 +36,16 @@ Examples of unacceptable behavior include:
|
|
|
36
36
|
* Other conduct which could reasonably be considered inappropriate in a
|
|
37
37
|
professional setting
|
|
38
38
|
|
|
39
|
+
### AI and LLM Use
|
|
40
|
+
|
|
41
|
+
AI tools can be valuable for learning, exploring ideas, and accelerating work. We welcome their thoughtful use. To ensure contributions remain meaningful and contributors continue to grow, we ask that you:
|
|
42
|
+
|
|
43
|
+
* Understand what you submit. Be able to explain and defend any contribution you make. If you cannot, it is not ready to submit.
|
|
44
|
+
* Stay in the driver's seat. Use AI to support your learning and work, not to replace the effort and critical thinking that make you a better developer.
|
|
45
|
+
* Engage meaningfully. Low-effort, AI-generated submissions (issues, PRs, or proposals) without genuine personal engagement are not acceptable.
|
|
46
|
+
|
|
47
|
+
Maintainers may ask contributors to explain their work. This is part of our commitment to learning and quality—not a test of whether you used AI, but whether you understood and own what you contributed.
|
|
48
|
+
|
|
39
49
|
## Enforcement Responsibilities
|
|
40
50
|
|
|
41
51
|
Community leaders are responsible for clarifying and enforcing our standards of
|