Mesa 2.4.0__tar.gz → 3.0.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.
Potentially problematic release.
This version of Mesa might be problematic. Click here for more details.
- {mesa-2.4.0 → mesa-3.0.0}/.codespellignore +1 -0
- {mesa-2.4.0 → mesa-3.0.0}/.github/ISSUE_TEMPLATE/bug-report.md +2 -1
- mesa-3.0.0/.github/ISSUE_TEMPLATE/config.yml +5 -0
- mesa-3.0.0/.github/PULL_REQUEST_TEMPLATE/bug.md +16 -0
- mesa-3.0.0/.github/PULL_REQUEST_TEMPLATE/feature.md +16 -0
- mesa-3.0.0/.github/pull_request_template.md +4 -0
- {mesa-2.4.0 → mesa-3.0.0}/.github/release.yml +3 -0
- {mesa-2.4.0 → mesa-3.0.0}/.github/workflows/benchmarks.yml +1 -1
- {mesa-2.4.0 → mesa-3.0.0}/.github/workflows/build_lint.yml +10 -10
- {mesa-2.4.0 → mesa-3.0.0}/.github/workflows/release.yml +2 -1
- {mesa-2.4.0 → mesa-3.0.0}/.gitignore +4 -0
- {mesa-2.4.0 → mesa-3.0.0}/.pre-commit-config.yaml +5 -5
- {mesa-2.4.0 → mesa-3.0.0}/CODE_OF_CONDUCT.md +1 -1
- {mesa-2.4.0 → mesa-3.0.0}/CONTRIBUTING.md +18 -0
- {mesa-2.4.0 → mesa-3.0.0}/HISTORY.md +517 -50
- mesa-3.0.0/LICENSE +202 -0
- mesa-2.4.0/LICENSE → mesa-3.0.0/NOTICE +2 -2
- {mesa-2.4.0 → mesa-3.0.0}/PKG-INFO +62 -17
- {mesa-2.4.0 → mesa-3.0.0}/README.md +21 -6
- mesa-3.0.0/benchmarks/BoltzmannWealth/__init__.py +1 -0
- mesa-3.0.0/benchmarks/BoltzmannWealth/boltzmann_wealth.py +112 -0
- mesa-3.0.0/benchmarks/Flocking/__init__.py +1 -0
- {mesa-2.4.0 → mesa-3.0.0}/benchmarks/Flocking/flocking.py +20 -30
- mesa-3.0.0/benchmarks/Schelling/__init__.py +1 -0
- {mesa-2.4.0 → mesa-3.0.0}/benchmarks/Schelling/schelling.py +44 -40
- mesa-3.0.0/benchmarks/WolfSheep/__init__.py +1 -0
- {mesa-2.4.0 → mesa-3.0.0}/benchmarks/WolfSheep/wolf_sheep.py +47 -71
- {mesa-2.4.0 → mesa-3.0.0}/benchmarks/compare_timings.py +13 -2
- {mesa-2.4.0 → mesa-3.0.0}/benchmarks/configurations.py +27 -1
- {mesa-2.4.0 → mesa-3.0.0}/benchmarks/global_benchmark.py +30 -7
- mesa-3.0.0/binder/environment.yml +14 -0
- {mesa-2.4.0 → mesa-3.0.0}/codecov.yaml +3 -2
- {mesa-2.4.0 → mesa-3.0.0}/docs/README.md +4 -5
- mesa-3.0.0/docs/apis/agent.md +8 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/apis/api_main.md +2 -1
- {mesa-2.4.0 → mesa-3.0.0}/docs/apis/batchrunner.md +2 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/apis/datacollection.md +2 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/apis/experimental.md +4 -8
- mesa-3.0.0/docs/apis/model.md +7 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/apis/space.md +2 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/apis/time.md +2 -0
- mesa-3.0.0/docs/apis/visualization.md +47 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/best-practices.md +20 -21
- {mesa-2.4.0 → mesa-3.0.0}/docs/conf.py +84 -5
- mesa-3.0.0/docs/example_template.txt +22 -0
- mesa-3.0.0/docs/examples_overview_template.txt +13 -0
- mesa-3.0.0/docs/getting_started.md +262 -0
- mesa-3.0.0/docs/images/wolf_sheep.png +0 -0
- mesa-3.0.0/docs/index.md +101 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/mesa.md +0 -6
- {mesa-2.4.0 → mesa-3.0.0}/docs/migration_guide.md +53 -12
- {mesa-2.4.0 → mesa-3.0.0}/docs/tutorials/MoneyModel.py +24 -9
- {mesa-2.4.0 → mesa-3.0.0}/docs/tutorials/intro_tutorial.ipynb +738 -308
- mesa-3.0.0/docs/tutorials/visualization_tutorial.ipynb +433 -0
- mesa-3.0.0/maintenance/fetch_unlabeled_prs.py +82 -0
- {mesa-2.4.0 → mesa-3.0.0}/mesa/__init__.py +3 -5
- {mesa-2.4.0 → mesa-3.0.0}/mesa/agent.py +105 -92
- {mesa-2.4.0 → mesa-3.0.0}/mesa/batchrunner.py +55 -31
- {mesa-2.4.0 → mesa-3.0.0}/mesa/datacollection.py +10 -14
- mesa-3.0.0/mesa/examples/README.md +37 -0
- mesa-3.0.0/mesa/examples/__init__.py +21 -0
- mesa-3.0.0/mesa/examples/advanced/epstein_civil_violence/Epstein Civil Violence.ipynb +116 -0
- mesa-3.0.0/mesa/examples/advanced/epstein_civil_violence/Readme.md +34 -0
- mesa-3.0.0/mesa/examples/advanced/epstein_civil_violence/agents.py +164 -0
- mesa-3.0.0/mesa/examples/advanced/epstein_civil_violence/app.py +73 -0
- mesa-3.0.0/mesa/examples/advanced/epstein_civil_violence/model.py +114 -0
- mesa-3.0.0/mesa/examples/advanced/pd_grid/Readme.md +43 -0
- mesa-3.0.0/mesa/examples/advanced/pd_grid/agents.py +50 -0
- mesa-3.0.0/mesa/examples/advanced/pd_grid/analysis.ipynb +228 -0
- mesa-3.0.0/mesa/examples/advanced/pd_grid/app.py +54 -0
- mesa-3.0.0/mesa/examples/advanced/pd_grid/model.py +71 -0
- mesa-3.0.0/mesa/examples/advanced/sugarscape_g1mt/Readme.md +64 -0
- mesa-3.0.0/mesa/examples/advanced/sugarscape_g1mt/agents.py +344 -0
- mesa-3.0.0/mesa/examples/advanced/sugarscape_g1mt/app.py +62 -0
- mesa-3.0.0/mesa/examples/advanced/sugarscape_g1mt/model.py +180 -0
- mesa-3.0.0/mesa/examples/advanced/sugarscape_g1mt/sugar-map.txt +50 -0
- mesa-3.0.0/mesa/examples/advanced/sugarscape_g1mt/tests.py +69 -0
- mesa-3.0.0/mesa/examples/advanced/wolf_sheep/Readme.md +57 -0
- mesa-3.0.0/mesa/examples/advanced/wolf_sheep/agents.py +102 -0
- mesa-3.0.0/mesa/examples/advanced/wolf_sheep/app.py +84 -0
- mesa-3.0.0/mesa/examples/advanced/wolf_sheep/model.py +137 -0
- mesa-3.0.0/mesa/examples/basic/__init__.py +0 -0
- mesa-3.0.0/mesa/examples/basic/boid_flockers/Readme.md +22 -0
- mesa-3.0.0/mesa/examples/basic/boid_flockers/__init__.py +0 -0
- mesa-3.0.0/mesa/examples/basic/boid_flockers/agents.py +71 -0
- mesa-3.0.0/mesa/examples/basic/boid_flockers/app.py +58 -0
- mesa-3.0.0/mesa/examples/basic/boid_flockers/model.py +69 -0
- mesa-3.0.0/mesa/examples/basic/boltzmann_wealth_model/Readme.md +56 -0
- mesa-3.0.0/mesa/examples/basic/boltzmann_wealth_model/__init__.py +0 -0
- mesa-3.0.0/mesa/examples/basic/boltzmann_wealth_model/agents.py +31 -0
- mesa-3.0.0/mesa/examples/basic/boltzmann_wealth_model/app.py +74 -0
- mesa-3.0.0/mesa/examples/basic/boltzmann_wealth_model/model.py +43 -0
- mesa-3.0.0/mesa/examples/basic/boltzmann_wealth_model/st_app.py +115 -0
- mesa-3.0.0/mesa/examples/basic/conways_game_of_life/Readme.md +39 -0
- mesa-3.0.0/mesa/examples/basic/conways_game_of_life/__init__.py +0 -0
- mesa-3.0.0/mesa/examples/basic/conways_game_of_life/agents.py +47 -0
- mesa-3.0.0/mesa/examples/basic/conways_game_of_life/app.py +51 -0
- mesa-3.0.0/mesa/examples/basic/conways_game_of_life/model.py +31 -0
- mesa-3.0.0/mesa/examples/basic/conways_game_of_life/st_app.py +72 -0
- mesa-3.0.0/mesa/examples/basic/schelling/Readme.md +40 -0
- mesa-3.0.0/mesa/examples/basic/schelling/__init__.py +0 -0
- mesa-3.0.0/mesa/examples/basic/schelling/agents.py +26 -0
- mesa-3.0.0/mesa/examples/basic/schelling/analysis.ipynb +205 -0
- mesa-3.0.0/mesa/examples/basic/schelling/app.py +42 -0
- mesa-3.0.0/mesa/examples/basic/schelling/model.py +59 -0
- mesa-3.0.0/mesa/examples/basic/virus_on_network/Readme.md +61 -0
- mesa-3.0.0/mesa/examples/basic/virus_on_network/__init__.py +0 -0
- mesa-3.0.0/mesa/examples/basic/virus_on_network/agents.py +69 -0
- mesa-3.0.0/mesa/examples/basic/virus_on_network/app.py +114 -0
- mesa-3.0.0/mesa/examples/basic/virus_on_network/model.py +96 -0
- {mesa-2.4.0 → mesa-3.0.0}/mesa/experimental/UserParam.py +18 -7
- mesa-3.0.0/mesa/experimental/__init__.py +13 -0
- {mesa-2.4.0 → mesa-3.0.0}/mesa/experimental/cell_space/__init__.py +16 -1
- mesa-3.0.0/mesa/experimental/cell_space/cell.py +222 -0
- mesa-3.0.0/mesa/experimental/cell_space/cell_agent.py +133 -0
- mesa-3.0.0/mesa/experimental/cell_space/cell_collection.py +118 -0
- mesa-3.0.0/mesa/experimental/cell_space/discrete_space.py +148 -0
- {mesa-2.4.0 → mesa-3.0.0}/mesa/experimental/cell_space/grid.py +33 -9
- {mesa-2.4.0 → mesa-3.0.0}/mesa/experimental/cell_space/network.py +15 -10
- mesa-3.0.0/mesa/experimental/cell_space/voronoi.py +257 -0
- {mesa-2.4.0 → mesa-3.0.0}/mesa/experimental/components/altair.py +11 -2
- mesa-3.0.0/mesa/experimental/components/matplotlib.py +242 -0
- {mesa-2.4.0 → mesa-3.0.0}/mesa/experimental/devs/__init__.py +2 -0
- {mesa-2.4.0 → mesa-3.0.0}/mesa/experimental/devs/eventlist.py +54 -15
- {mesa-2.4.0 → mesa-3.0.0}/mesa/experimental/devs/examples/epstein_civil_violence.py +69 -38
- {mesa-2.4.0 → mesa-3.0.0}/mesa/experimental/devs/examples/wolf_sheep.py +42 -43
- {mesa-2.4.0 → mesa-3.0.0}/mesa/experimental/devs/simulator.py +57 -16
- mesa-2.4.0/mesa/experimental/jupyter_viz.py → mesa-3.0.0/mesa/experimental/solara_viz.py +151 -99
- mesa-3.0.0/mesa/model.py +291 -0
- {mesa-2.4.0 → mesa-3.0.0}/mesa/space.py +208 -148
- {mesa-2.4.0 → mesa-3.0.0}/mesa/time.py +63 -80
- mesa-3.0.0/mesa/visualization/__init__.py +26 -0
- mesa-3.0.0/mesa/visualization/components/__init__.py +83 -0
- mesa-3.0.0/mesa/visualization/components/altair_components.py +188 -0
- mesa-3.0.0/mesa/visualization/components/matplotlib_components.py +175 -0
- mesa-3.0.0/mesa/visualization/mpl_space_drawing.py +593 -0
- mesa-3.0.0/mesa/visualization/solara_viz.py +458 -0
- mesa-3.0.0/mesa/visualization/user_param.py +69 -0
- mesa-3.0.0/mesa/visualization/utils.py +9 -0
- {mesa-2.4.0 → mesa-3.0.0}/pyproject.toml +31 -13
- mesa-3.0.0/tests/__init__.py +1 -0
- {mesa-2.4.0 → mesa-3.0.0}/tests/read_requirements.py +1 -0
- {mesa-2.4.0 → mesa-3.0.0}/tests/test_agent.py +160 -94
- {mesa-2.4.0 → mesa-3.0.0}/tests/test_batch_run.py +49 -38
- mesa-3.0.0/tests/test_cell_space.py +752 -0
- mesa-3.0.0/tests/test_components_matplotlib.py +237 -0
- {mesa-2.4.0 → mesa-3.0.0}/tests/test_datacollector.py +48 -97
- {mesa-2.4.0 → mesa-3.0.0}/tests/test_devs.py +6 -0
- mesa-3.0.0/tests/test_examples.py +72 -0
- {mesa-2.4.0 → mesa-3.0.0}/tests/test_grid.py +38 -88
- {mesa-2.4.0 → mesa-3.0.0}/tests/test_import_namespace.py +7 -12
- {mesa-2.4.0 → mesa-3.0.0}/tests/test_lifespan.py +25 -26
- {mesa-2.4.0 → mesa-3.0.0}/tests/test_model.py +49 -8
- mesa-3.0.0/tests/test_solara_viz.py +215 -0
- {mesa-2.4.0 → mesa-3.0.0}/tests/test_space.py +139 -172
- {mesa-2.4.0 → mesa-3.0.0}/tests/test_time.py +70 -95
- mesa-2.4.0/.github/ISSUE_TEMPLATE/asking-help.md +0 -9
- mesa-2.4.0/docs/apis/init.md +0 -11
- mesa-2.4.0/docs/apis/visualization.md +0 -38
- mesa-2.4.0/docs/howto.md +0 -83
- mesa-2.4.0/docs/images/Mesa_Screenshot.png +0 -0
- mesa-2.4.0/docs/index.md +0 -106
- mesa-2.4.0/docs/mesa.visualization.md +0 -46
- mesa-2.4.0/docs/mesa.visualization.modules.md +0 -76
- mesa-2.4.0/docs/modular-visualization.md +0 -249
- mesa-2.4.0/docs/overview.md +0 -195
- mesa-2.4.0/docs/packages.md +0 -110
- mesa-2.4.0/docs/tutorials/adv_tutorial_legacy.ipynb +0 -510
- mesa-2.4.0/docs/tutorials/visualization_tutorial.ipynb +0 -271
- mesa-2.4.0/mesa/cookiecutter-mesa/cookiecutter.json +0 -8
- mesa-2.4.0/mesa/cookiecutter-mesa/hooks/post_gen_project.py +0 -11
- mesa-2.4.0/mesa/cookiecutter-mesa/{{cookiecutter.snake}}/README.md +0 -4
- mesa-2.4.0/mesa/cookiecutter-mesa/{{cookiecutter.snake}}/run.pytemplate +0 -3
- mesa-2.4.0/mesa/cookiecutter-mesa/{{cookiecutter.snake}}/setup.pytemplate +0 -11
- mesa-2.4.0/mesa/cookiecutter-mesa/{{cookiecutter.snake}}/{{cookiecutter.snake}}/model.pytemplate +0 -60
- mesa-2.4.0/mesa/cookiecutter-mesa/{{cookiecutter.snake}}/{{cookiecutter.snake}}/server.pytemplate +0 -36
- mesa-2.4.0/mesa/experimental/__init__.py +0 -5
- mesa-2.4.0/mesa/experimental/cell_space/cell.py +0 -152
- mesa-2.4.0/mesa/experimental/cell_space/cell_agent.py +0 -37
- mesa-2.4.0/mesa/experimental/cell_space/cell_collection.py +0 -81
- mesa-2.4.0/mesa/experimental/cell_space/discrete_space.py +0 -64
- mesa-2.4.0/mesa/experimental/components/matplotlib.py +0 -136
- mesa-2.4.0/mesa/flat/__init__.py +0 -6
- mesa-2.4.0/mesa/flat/visualization.py +0 -5
- mesa-2.4.0/mesa/main.py +0 -63
- mesa-2.4.0/mesa/model.py +0 -233
- mesa-2.4.0/mesa/visualization/ModularVisualization.py +0 -1
- mesa-2.4.0/mesa/visualization/TextVisualization.py +0 -1
- mesa-2.4.0/mesa/visualization/UserParam.py +0 -1
- mesa-2.4.0/mesa/visualization/__init__.py +0 -7
- mesa-2.4.0/mesa/visualization/modules.py +0 -1
- mesa-2.4.0/tests/test_cell_space.py +0 -465
- mesa-2.4.0/tests/test_examples.py +0 -68
- mesa-2.4.0/tests/test_jupyter_viz.py +0 -153
- mesa-2.4.0/tests/test_main.py +0 -34
- mesa-2.4.0/tests/test_scaffold.py +0 -22
- mesa-2.4.0/tests/test_tornado.py +0 -41
- mesa-2.4.0/tests/test_usersettableparam.py +0 -57
- mesa-2.4.0/tests/test_visualization.py +0 -105
- {mesa-2.4.0 → mesa-3.0.0}/.coveragerc +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/.github/dependabot.yml +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/.readthedocs.yml +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/CITATION.bib +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/Dockerfile +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docker-compose.yml +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/Makefile +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/_static/switcher.json +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/mesa_logo.ico +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/mesa_logo.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/tutorial/br_ginis.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/tutorial/dc_endwealth.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/tutorial/dc_gini.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/tutorial/dc_oneagent.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/tutorial/first_hist.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/tutorial/multirun_hist.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/tutorial/numpy_grid.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/tutorial/viz_chart.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/tutorial/viz_empty.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/tutorial/viz_greycircles.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/tutorial/viz_histogram.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/images/tutorial/viz_redcircles.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/make.bat +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/tutorials/files/viz_chart.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/tutorials/files/viz_empty.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/tutorials/files/viz_greycircles.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/tutorials/files/viz_histogram.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/tutorials/files/viz_redcircles.png +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/docs/tutorials/files/viz_slider.png +0 -0
- {mesa-2.4.0/benchmarks/Flocking → mesa-3.0.0/mesa/examples/advanced}/__init__.py +0 -0
- {mesa-2.4.0/benchmarks/Schelling → mesa-3.0.0/mesa/examples/advanced/epstein_civil_violence}/__init__.py +0 -0
- {mesa-2.4.0/benchmarks/WolfSheep → mesa-3.0.0/mesa/examples/advanced/pd_grid}/__init__.py +0 -0
- {mesa-2.4.0/mesa/cookiecutter-mesa/{{cookiecutter.snake}}/{{cookiecutter.snake}} → mesa-3.0.0/mesa/examples/advanced/sugarscape_g1mt}/__init__.py +0 -0
- {mesa-2.4.0/tests → mesa-3.0.0/mesa/examples/advanced/wolf_sheep}/__init__.py +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/mypy.ini +0 -0
- {mesa-2.4.0 → mesa-3.0.0}/tests/test_end_to_end_viz.sh +0 -0
|
@@ -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. -->
|
|
@@ -25,7 +25,7 @@ jobs:
|
|
|
25
25
|
- name: Set up Python
|
|
26
26
|
uses: actions/setup-python@v5
|
|
27
27
|
with:
|
|
28
|
-
python-version: '3.
|
|
28
|
+
python-version: '3.13'
|
|
29
29
|
- name: Add project directory to PYTHONPATH
|
|
30
30
|
run: echo "PYTHONPATH=$PYTHONPATH:$(pwd)" >> $GITHUB_ENV
|
|
31
31
|
- name: Install dependencies
|
|
@@ -31,16 +31,14 @@ jobs:
|
|
|
31
31
|
fail-fast: False
|
|
32
32
|
matrix:
|
|
33
33
|
os: [windows, ubuntu, macos]
|
|
34
|
-
python-version: ["3.
|
|
34
|
+
python-version: ["3.13"]
|
|
35
35
|
include:
|
|
36
36
|
- os: ubuntu
|
|
37
|
-
python-version: "3.
|
|
37
|
+
python-version: "3.12"
|
|
38
38
|
- os: ubuntu
|
|
39
39
|
python-version: "3.11"
|
|
40
40
|
- os: ubuntu
|
|
41
41
|
python-version: "3.10"
|
|
42
|
-
- os: ubuntu
|
|
43
|
-
python-version: "3.9"
|
|
44
42
|
# Disabled for now. See https://github.com/projectmesa/mesa/issues/1253
|
|
45
43
|
#- os: ubuntu
|
|
46
44
|
# python-version: 'pypy-3.8'
|
|
@@ -55,14 +53,16 @@ jobs:
|
|
|
55
53
|
cache: 'pip'
|
|
56
54
|
- name: Install uv
|
|
57
55
|
run: pip install uv
|
|
58
|
-
- name: Install Mesa
|
|
59
|
-
# See https://github.com/astral-sh/uv/issues/1945
|
|
56
|
+
- name: Install Mesa and dependencies
|
|
60
57
|
run: uv pip install --system .[dev]
|
|
61
58
|
- name: Test with pytest
|
|
62
59
|
run: pytest --durations=10 --cov=mesa tests/ --cov-report=xml
|
|
63
60
|
- if: matrix.os == 'ubuntu'
|
|
64
61
|
name: Codecov
|
|
65
62
|
uses: codecov/codecov-action@v4
|
|
63
|
+
with:
|
|
64
|
+
fail_ci_if_error: true
|
|
65
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
66
66
|
|
|
67
67
|
examples:
|
|
68
68
|
runs-on: ubuntu-latest
|
|
@@ -71,19 +71,19 @@ jobs:
|
|
|
71
71
|
- name: Set up Python
|
|
72
72
|
uses: actions/setup-python@v5
|
|
73
73
|
with:
|
|
74
|
-
python-version: "3.
|
|
74
|
+
python-version: "3.13"
|
|
75
|
+
allow-prereleases: true
|
|
75
76
|
cache: 'pip'
|
|
76
77
|
- name: Install uv
|
|
77
78
|
run: pip install uv
|
|
78
79
|
- name: Install Mesa
|
|
79
|
-
run: uv pip install --system .[
|
|
80
|
+
run: uv pip install --system .[examples]
|
|
80
81
|
- name: Checkout mesa-examples
|
|
81
82
|
uses: actions/checkout@v4
|
|
82
83
|
with:
|
|
83
84
|
repository: projectmesa/mesa-examples
|
|
84
85
|
path: mesa-examples
|
|
85
|
-
ref: mesa-2.x # Legacy branch for mesa-examples that work with Mesa 2.x
|
|
86
86
|
- name: Test examples
|
|
87
87
|
run: |
|
|
88
88
|
cd mesa-examples
|
|
89
|
-
pytest test_examples.py
|
|
89
|
+
pytest -rA -Werror -Wdefault::FutureWarning test_examples.py
|
|
@@ -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.7.2
|
|
8
8
|
hooks:
|
|
9
9
|
# Run the linter.
|
|
10
10
|
- id: ruff
|
|
@@ -14,18 +14,18 @@ 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.19.0
|
|
18
18
|
hooks:
|
|
19
19
|
- id: pyupgrade
|
|
20
|
-
args: [--
|
|
20
|
+
args: [--py310-plus]
|
|
21
21
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
22
|
-
rev:
|
|
22
|
+
rev: v5.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.3.0
|
|
29
29
|
hooks:
|
|
30
30
|
- id: codespell
|
|
31
31
|
args: [
|
|
@@ -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
|
|
|
@@ -119,6 +119,24 @@ ruff .
|
|
|
119
119
|
|
|
120
120
|
The license of this project is located in [LICENSE]. By submitting a contribution to this project, you are agreeing that your contribution will be released under the terms of this license.
|
|
121
121
|
|
|
122
|
+
## Maintainers
|
|
123
|
+
Some notes useful for Mesa maintainers.
|
|
124
|
+
|
|
125
|
+
### Releases
|
|
126
|
+
To create a new release, follow these steps:
|
|
127
|
+
|
|
128
|
+
1. Ensure all pull requests (PRs) have a clear title and are labeled with at least one label. Check [this link](https://github.com/projectmesa/mesa/pulls?q=is%3Apr+is%3Amerged+no%3Alabel+merged%3A%3E%3D2024-03-01+) to see if all PRs are labeled. These labels will be used when drafting the changelog using the [`.github/release.yml`](https://github.com/projectmesa/mesa/blob/main/.github/release.yml) configuration.
|
|
129
|
+
2. Navigate to the [Releases](https://github.com/projectmesa/mesa/releases) section in the GitHub UI and click the _Draft a new release_ button.
|
|
130
|
+
3. Specify the upcoming tag in the _Choose a tag_ and _Release title_ fields (e.g., `v3.0.0`).
|
|
131
|
+
- For pre-releases, add a `a`, `b` or `rc` and a number behind the version tag (see [Versioning](https://packaging.python.org/en/latest/discussions/versioning/)), and check the box _Set as a pre-release_.
|
|
132
|
+
4. Use the _Generate release notes_ button to automatically create release notes. Review them carefully for accuracy, and update labels and edit PR titles if necessary (step 1).
|
|
133
|
+
5. Write a _Highlights_ section summarizing the most important features or changes in this release.
|
|
134
|
+
6. Copy the release notes and save them by clicking the grey _Save draft_ button.
|
|
135
|
+
7. Open a new PR to update the version number in [`mesa/__init__.py`](https://github.com/projectmesa/mesa/blob/main/mesa/__init__.py) and add the copied release notes to the [`HISTORY.md`](https://github.com/projectmesa/mesa/blob/main/HISTORY.md).
|
|
136
|
+
8. Once this PR is merged, return to the _Releases_ section and publish the draft release.
|
|
137
|
+
9. The [`release.yml`](https://github.com/projectmesa/mesa/blob/main/.github/workflows/release.yml) CI workflow should automatically create and upload the package to PyPI. Verify this on [PyPI.org](https://pypi.org/project/mesa/).
|
|
138
|
+
10. Finally, after release, open a new PR to update the version number in [`mesa/__init__.py`](https://github.com/projectmesa/mesa/blob/main/mesa/__init__.py) for the next release (e.g., `"3.1.0.dev"`).
|
|
139
|
+
|
|
122
140
|
## Special Thanks
|
|
123
141
|
|
|
124
142
|
A special thanks to the following projects who offered inspiration for this contributing file.
|