Mesa 3.0.0b1__py3-none-any.whl → 3.0.0b2__py3-none-any.whl

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.

Files changed (102) hide show
  1. mesa/__init__.py +1 -3
  2. mesa/agent.py +23 -8
  3. mesa/examples/__init__.py +21 -0
  4. {examples → mesa/examples}/advanced/epstein_civil_violence/Readme.md +3 -2
  5. mesa/examples/advanced/epstein_civil_violence/app.py +72 -0
  6. {examples/advanced/epstein_civil_violence → mesa/examples/advanced}/epstein_civil_violence/model.py +4 -4
  7. examples/advanced/pd_grid/readme.md → mesa/examples/advanced/pd_grid/Readme.md +4 -3
  8. mesa/examples/advanced/pd_grid/app.py +50 -0
  9. {examples/advanced/pd_grid → mesa/examples/advanced}/pd_grid/model.py +1 -2
  10. {examples → mesa/examples}/advanced/sugarscape_g1mt/Readme.md +6 -29
  11. examples/advanced/sugarscape_g1mt/sugarscape_g1mt/trader_agents.py → mesa/examples/advanced/sugarscape_g1mt/agents.py +26 -3
  12. {examples → mesa/examples}/advanced/sugarscape_g1mt/app.py +23 -14
  13. {examples/advanced/sugarscape_g1mt → mesa/examples/advanced}/sugarscape_g1mt/model.py +6 -6
  14. {examples → mesa/examples}/advanced/sugarscape_g1mt/tests.py +3 -6
  15. mesa/examples/advanced/wolf_sheep/app.py +77 -0
  16. {examples/advanced/wolf_sheep → mesa/examples/advanced}/wolf_sheep/model.py +9 -8
  17. mesa/examples/basic/boid_flockers/Readme.md +22 -0
  18. {examples → mesa/examples}/basic/boid_flockers/app.py +1 -2
  19. {examples → mesa/examples}/basic/boid_flockers/model.py +1 -2
  20. {examples → mesa/examples}/basic/boltzmann_wealth_model/Readme.md +1 -5
  21. mesa/examples/basic/boltzmann_wealth_model/__init__.py +0 -0
  22. {examples → mesa/examples}/basic/boltzmann_wealth_model/app.py +1 -2
  23. {examples → mesa/examples}/basic/boltzmann_wealth_model/model.py +3 -4
  24. {examples → mesa/examples}/basic/conways_game_of_life/Readme.md +11 -7
  25. mesa/examples/basic/conways_game_of_life/__init__.py +0 -0
  26. {examples → mesa/examples}/basic/conways_game_of_life/agents.py +8 -8
  27. mesa/examples/basic/conways_game_of_life/app.py +39 -0
  28. {examples → mesa/examples}/basic/conways_game_of_life/model.py +3 -4
  29. {examples → mesa/examples}/basic/conways_game_of_life/st_app.py +2 -1
  30. examples/basic/schelling/README.md → mesa/examples/basic/schelling/Readme.md +2 -9
  31. mesa/examples/basic/schelling/__init__.py +0 -0
  32. {examples → mesa/examples}/basic/schelling/app.py +1 -2
  33. {examples → mesa/examples}/basic/schelling/model.py +1 -2
  34. mesa/examples/basic/virus_on_network/__init__.py +0 -0
  35. {examples → mesa/examples}/basic/virus_on_network/app.py +5 -2
  36. {examples → mesa/examples}/basic/virus_on_network/model.py +4 -7
  37. mesa/experimental/cell_space/discrete_space.py +6 -0
  38. mesa/experimental/devs/eventlist.py +6 -0
  39. mesa/model.py +13 -0
  40. mesa/space.py +70 -5
  41. mesa/visualization/components/altair.py +87 -19
  42. mesa/visualization/components/matplotlib.py +55 -11
  43. {mesa-3.0.0b1.dist-info → mesa-3.0.0b2.dist-info}/METADATA +1 -3
  44. mesa-3.0.0b2.dist-info/RECORD +93 -0
  45. examples/advanced/epstein_civil_violence/epstein_civil_violence/portrayal.py +0 -33
  46. examples/advanced/epstein_civil_violence/epstein_civil_violence/server.py +0 -81
  47. examples/advanced/epstein_civil_violence/requirements.txt +0 -3
  48. examples/advanced/epstein_civil_violence/run.py +0 -3
  49. examples/advanced/pd_grid/pd_grid/portrayal.py +0 -19
  50. examples/advanced/pd_grid/pd_grid/server.py +0 -21
  51. examples/advanced/pd_grid/requirements.txt +0 -3
  52. examples/advanced/pd_grid/run.py +0 -3
  53. examples/advanced/sugarscape_g1mt/requirements.txt +0 -6
  54. examples/advanced/sugarscape_g1mt/run.py +0 -105
  55. examples/advanced/sugarscape_g1mt/sugarscape_g1mt/resource_agents.py +0 -26
  56. examples/advanced/sugarscape_g1mt/sugarscape_g1mt/server.py +0 -61
  57. examples/advanced/wolf_sheep/requirements.txt +0 -1
  58. examples/advanced/wolf_sheep/run.py +0 -3
  59. examples/advanced/wolf_sheep/wolf_sheep/resources/sheep.png +0 -0
  60. examples/advanced/wolf_sheep/wolf_sheep/resources/wolf.png +0 -0
  61. examples/advanced/wolf_sheep/wolf_sheep/server.py +0 -78
  62. examples/basic/__init__.py +0 -13
  63. examples/basic/boid_flockers/Readme.md +0 -43
  64. examples/basic/conways_game_of_life/portrayal.py +0 -18
  65. examples/basic/conways_game_of_life/requirements.txt +0 -1
  66. examples/basic/conways_game_of_life/server.py +0 -11
  67. mesa/cookiecutter-mesa/cookiecutter.json +0 -8
  68. mesa/cookiecutter-mesa/hooks/post_gen_project.py +0 -13
  69. mesa/cookiecutter-mesa/{{cookiecutter.snake}}/README.md +0 -4
  70. mesa/cookiecutter-mesa/{{cookiecutter.snake}}/app.pytemplate +0 -27
  71. mesa/cookiecutter-mesa/{{cookiecutter.snake}}/setup.pytemplate +0 -11
  72. mesa/cookiecutter-mesa/{{cookiecutter.snake}}/{{cookiecutter.snake}}/__init__.py +0 -1
  73. mesa/cookiecutter-mesa/{{cookiecutter.snake}}/{{cookiecutter.snake}}/model.pytemplate +0 -60
  74. mesa/examples.py +0 -3
  75. mesa/main.py +0 -65
  76. mesa-3.0.0b1.dist-info/RECORD +0 -114
  77. {examples → mesa/examples}/README.md +0 -0
  78. {examples → mesa/examples/advanced}/__init__.py +0 -0
  79. {examples → mesa/examples}/advanced/epstein_civil_violence/Epstein Civil Violence.ipynb +0 -0
  80. {examples/advanced → mesa/examples/advanced/epstein_civil_violence}/__init__.py +0 -0
  81. /examples/advanced/epstein_civil_violence/epstein_civil_violence/agent.py → /mesa/examples/advanced/epstein_civil_violence/agents.py +0 -0
  82. {examples/advanced/epstein_civil_violence/epstein_civil_violence → mesa/examples/advanced/pd_grid}/__init__.py +0 -0
  83. /examples/advanced/pd_grid/pd_grid/agent.py → /mesa/examples/advanced/pd_grid/agents.py +0 -0
  84. {examples → mesa/examples}/advanced/pd_grid/analysis.ipynb +0 -0
  85. {examples/advanced/pd_grid/pd_grid → mesa/examples/advanced/sugarscape_g1mt}/__init__.py +0 -0
  86. {examples/advanced/sugarscape_g1mt → mesa/examples/advanced}/sugarscape_g1mt/sugar-map.txt +0 -0
  87. {examples → mesa/examples}/advanced/wolf_sheep/Readme.md +0 -0
  88. {examples/advanced/sugarscape_g1mt/sugarscape_g1mt → mesa/examples/advanced/wolf_sheep}/__init__.py +0 -0
  89. {examples/advanced/wolf_sheep → mesa/examples/advanced}/wolf_sheep/agents.py +0 -0
  90. {examples/advanced/wolf_sheep → mesa/examples/basic}/__init__.py +0 -0
  91. {examples/advanced/wolf_sheep/wolf_sheep → mesa/examples/basic/boid_flockers}/__init__.py +0 -0
  92. {examples → mesa/examples}/basic/boid_flockers/agents.py +0 -0
  93. {examples → mesa/examples}/basic/boltzmann_wealth_model/agents.py +0 -0
  94. {examples → mesa/examples}/basic/boltzmann_wealth_model/st_app.py +0 -0
  95. {examples → mesa/examples}/basic/schelling/agents.py +0 -0
  96. {examples → mesa/examples}/basic/schelling/analysis.ipynb +0 -0
  97. /examples/basic/virus_on_network/README.md → /mesa/examples/basic/virus_on_network/Readme.md +0 -0
  98. {examples → mesa/examples}/basic/virus_on_network/agents.py +0 -0
  99. {mesa-3.0.0b1.dist-info → mesa-3.0.0b2.dist-info}/WHEEL +0 -0
  100. {mesa-3.0.0b1.dist-info → mesa-3.0.0b2.dist-info}/entry_points.txt +0 -0
  101. {mesa-3.0.0b1.dist-info → mesa-3.0.0b2.dist-info}/licenses/LICENSE +0 -0
  102. {mesa-3.0.0b1.dist-info → mesa-3.0.0b2.dist-info}/licenses/NOTICE +0 -0
@@ -1,78 +0,0 @@
1
- import mesa
2
- from wolf_sheep.agents import GrassPatch, Sheep, Wolf
3
- from wolf_sheep.model import WolfSheep
4
-
5
-
6
- def wolf_sheep_portrayal(agent):
7
- if agent is None:
8
- return
9
-
10
- portrayal = {}
11
-
12
- if type(agent) is Sheep:
13
- portrayal["Shape"] = "wolf_sheep/resources/sheep.png"
14
- # https://icons8.com/web-app/433/sheep
15
- portrayal["scale"] = 0.9
16
- portrayal["Layer"] = 1
17
-
18
- elif type(agent) is Wolf:
19
- portrayal["Shape"] = "wolf_sheep/resources/wolf.png"
20
- # https://icons8.com/web-app/36821/German-Shepherd
21
- portrayal["scale"] = 0.9
22
- portrayal["Layer"] = 2
23
- portrayal["text"] = round(agent.energy, 1)
24
- portrayal["text_color"] = "White"
25
-
26
- elif type(agent) is GrassPatch:
27
- if agent.fully_grown:
28
- portrayal["Color"] = ["#00FF00", "#00CC00", "#009900"]
29
- else:
30
- portrayal["Color"] = ["#84e184", "#adebad", "#d6f5d6"]
31
- portrayal["Shape"] = "rect"
32
- portrayal["Filled"] = "true"
33
- portrayal["Layer"] = 0
34
- portrayal["w"] = 1
35
- portrayal["h"] = 1
36
-
37
- return portrayal
38
-
39
-
40
- canvas_element = mesa.visualization.CanvasGrid(wolf_sheep_portrayal, 20, 20, 500, 500)
41
- chart_element = mesa.visualization.ChartModule(
42
- [
43
- {"Label": "Wolves", "Color": "#AA0000"},
44
- {"Label": "Sheep", "Color": "#666666"},
45
- {"Label": "Grass", "Color": "#00AA00"},
46
- ]
47
- )
48
-
49
- model_params = {
50
- # The following line is an example to showcase StaticText.
51
- "title": mesa.visualization.StaticText("Parameters:"),
52
- "grass": mesa.visualization.Checkbox("Grass Enabled", True),
53
- "grass_regrowth_time": mesa.visualization.Slider("Grass Regrowth Time", 20, 1, 50),
54
- "initial_sheep": mesa.visualization.Slider(
55
- "Initial Sheep Population", 100, 10, 300
56
- ),
57
- "sheep_reproduce": mesa.visualization.Slider(
58
- "Sheep Reproduction Rate", 0.04, 0.01, 1.0, 0.01
59
- ),
60
- "initial_wolves": mesa.visualization.Slider("Initial Wolf Population", 50, 10, 300),
61
- "wolf_reproduce": mesa.visualization.Slider(
62
- "Wolf Reproduction Rate",
63
- 0.05,
64
- 0.01,
65
- 1.0,
66
- 0.01,
67
- description="The rate at which wolf agents reproduce.",
68
- ),
69
- "wolf_gain_from_food": mesa.visualization.Slider(
70
- "Wolf Gain From Food Rate", 20, 1, 50
71
- ),
72
- "sheep_gain_from_food": mesa.visualization.Slider("Sheep Gain From Food", 4, 1, 10),
73
- }
74
-
75
- server = mesa.visualization.ModularServer(
76
- WolfSheep, [canvas_element, chart_element], "Wolf Sheep Predation", model_params
77
- )
78
- server.port = 8521
@@ -1,13 +0,0 @@
1
- from .boid_flockers.model import BoidFlockers
2
- from .boltzmann_wealth_model.model import BoltzmannWealthModel
3
- from .conways_game_of_life.model import ConwaysGameOfLife
4
- from .schelling.model import Schelling
5
- from .virus_on_network.model import VirusOnNetwork
6
-
7
- __all__ = [
8
- "BoidFlockers",
9
- "BoltzmannWealthModel",
10
- "ConwaysGameOfLife",
11
- "Schelling",
12
- "VirusOnNetwork",
13
- ]
@@ -1,43 +0,0 @@
1
- # Boids Flockers
2
-
3
- ## Summary
4
-
5
- An implementation of Craig Reynolds's Boids flocker model. Agents (simulated birds) try to fly towards the average position of their neighbors and in the same direction as them, while maintaining a minimum distance. This produces flocking behavior.
6
-
7
- This model tests Mesa's continuous space feature, and uses numpy arrays to represent vectors. It also demonstrates how to create custom visualization components.
8
-
9
- ## Installation
10
-
11
- To install the dependencies use pip and the requirements.txt in this directory. e.g.
12
-
13
- ```
14
- $ pip install -r requirements.txt
15
- ```
16
-
17
- ## How to Run
18
-
19
- * To launch the visualization interactively, run ``mesa runserver`` in this directory. e.g.
20
-
21
- ```
22
- $ mesa runserver
23
- ```
24
-
25
- or
26
-
27
- Directly run the file ``run.py`` in the terminal. e.g.
28
-
29
- ```
30
- $ python run.py
31
- ```
32
-
33
- * Then open your browser to [http://127.0.0.1:8521/](http://127.0.0.1:8521/) and press Reset, then Run.
34
-
35
- ## Files
36
-
37
- * [model.py](model.py): Core model file; contains the Boid Model and Boid Agent class.
38
- * [app.py](app.py): Visualization code.
39
-
40
- ## Further Reading
41
-
42
- The following link can be visited for more information on the boid flockers model:
43
- https://cs.stanford.edu/people/eroberts/courses/soco/projects/2008-09/modeling-natural-systems/boids.html
@@ -1,18 +0,0 @@
1
- def portrayCell(cell):
2
- """This function is registered with the visualization server to be called
3
- each tick to indicate how to draw the cell in its current state.
4
- :param cell: the cell in the simulation
5
- :return: the portrayal dictionary.
6
- """
7
- if cell is None:
8
- raise AssertionError
9
- return {
10
- "Shape": "rect",
11
- "w": 1,
12
- "h": 1,
13
- "Filled": "true",
14
- "Layer": 0,
15
- "x": cell.x,
16
- "y": cell.y,
17
- "Color": "black" if cell.isAlive else "white",
18
- }
@@ -1 +0,0 @@
1
- mesa~=2.0
@@ -1,11 +0,0 @@
1
- import mesa
2
-
3
- from .model import ConwaysGameOfLife
4
- from .portrayal import portrayCell
5
-
6
- # Make a world that is 50x50, on a 250x250 display.
7
- canvas_element = mesa.visualization.CanvasGrid(portrayCell, 50, 50, 250, 250)
8
-
9
- server = mesa.visualization.ModularServer(
10
- ConwaysGameOfLife, [canvas_element], "Game of Life", {"height": 50, "width": 50}
11
- )
@@ -1,8 +0,0 @@
1
- {
2
- "project": "Example Project",
3
- "snake": "{{ cookiecutter.project.lower().replace(' ', '_') }}",
4
- "camel": "{{ cookiecutter.project.title().replace(' ', '') }}",
5
- "agent": "{{ cookiecutter.camel + 'Agent'}}",
6
- "model": "{{ cookiecutter.camel + 'Model'}}",
7
- "description": "Example short description of the project"
8
- }
@@ -1,13 +0,0 @@
1
- """helper module."""
2
-
3
- import glob
4
- import os
5
-
6
- file_list = glob.glob("**/*.pytemplate", recursive=True)
7
-
8
- for file_path in file_list:
9
- # Check if the file is a regular file
10
- if not os.path.isfile(file_path):
11
- continue
12
- # Rename the file
13
- os.rename(file_path, file_path.replace(".pytemplate", ".py"))
@@ -1,4 +0,0 @@
1
- {{cookiecutter.project}}
2
- ========================
3
-
4
- {{cookiecutter.description}}
@@ -1,27 +0,0 @@
1
- """
2
- Configure visualization elements and instantiate a server
3
- """
4
- from mesa.visualization import SolaraViz
5
-
6
- from {{ cookiecutter.snake }}.model import {{ cookiecutter.model }}, {{ cookiecutter.agent }} # noqa
7
-
8
- import mesa
9
-
10
-
11
- def circle_portrayal_example(agent):
12
- return {
13
- "size": 40,
14
- # This is Matplotlib's color
15
- "color": "tab:pink",
16
- }
17
-
18
-
19
- model_params = {"num_agents": 10, "width": 10, "height": 10}
20
-
21
- page = SolaraViz(
22
- {{cookiecutter.model}},
23
- model_params,
24
- measures=["num_agents"],
25
- agent_portrayal=circle_portrayal_example
26
- )
27
- page # noqa
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env python
2
- from setuptools import find_packages, setup
3
-
4
- requires = ["mesa"]
5
-
6
- setup(
7
- name="{{cookiecutter.snake}}",
8
- version="0.0.1",
9
- packages=find_packages(),
10
- install_requires=requires,
11
- )
@@ -1,60 +0,0 @@
1
- import mesa
2
-
3
-
4
- class {{cookiecutter.agent}}(mesa.Agent): # noqa
5
- """
6
- An agent
7
- """
8
-
9
- def __init__(self, unique_id, model):
10
- """
11
- Customize the agent
12
- """
13
- self.unique_id = unique_id
14
- super().__init__(unique_id, model)
15
-
16
- def step(self):
17
- """
18
- Modify this method to change what an individual agent will do during each step.
19
- Can include logic based on neighbors states.
20
- """
21
- pass
22
-
23
-
24
- class {{cookiecutter.model}}(mesa.Model):
25
- """
26
- The model class holds the model-level attributes, manages the agents, and generally handles
27
- the global level of our model.
28
-
29
- There is only one model-level parameter: how many agents the model contains. When a new model
30
- is started, we want it to populate itself with the given number of agents.
31
-
32
- The scheduler is a special model component which controls the order in which agents are activated.
33
- """
34
-
35
- def __init__(self, num_agents, width, height):
36
- super().__init__()
37
- self.num_agents = num_agents
38
- self.schedule = mesa.time.RandomActivation(self)
39
- self.grid = mesa.space.MultiGrid(width=width, height=height, torus=True)
40
-
41
- for i in range(self.num_agents):
42
- agent = {{cookiecutter.agent}}(i, self)
43
- self.schedule.add(agent)
44
-
45
- x = self.random.randrange(self.grid.width)
46
- y = self.random.randrange(self.grid.height)
47
- self.grid.place_agent(agent, (x, y))
48
-
49
- # example data collector
50
- self.datacollector = mesa.datacollection.DataCollector({"num_agents": "num_agents"})
51
-
52
- self.running = True
53
- self.datacollector.collect(self)
54
-
55
- def step(self):
56
- """
57
- A model step. Used for collecting data and advancing the schedule
58
- """
59
- self.datacollector.collect(self)
60
- self.schedule.step()
mesa/examples.py DELETED
@@ -1,3 +0,0 @@
1
- """This module is a collection of example models built using the Mesa framework."""
2
-
3
- __path__ = ["examples"]
mesa/main.py DELETED
@@ -1,65 +0,0 @@
1
- """main module for running mesa models with a server."""
2
-
3
- import os
4
- import sys
5
- from pathlib import Path
6
- from subprocess import call
7
-
8
- import click
9
-
10
- from mesa import __version__
11
-
12
- PROJECT_PATH = click.Path(
13
- exists=True, file_okay=False, dir_okay=True, resolve_path=True
14
- )
15
- COOKIECUTTER_DIR = "mesa/cookiecutter-mesa"
16
- SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__))
17
- COOKIECUTTER_PATH = os.path.join(os.path.dirname(SCRIPTS_DIR), COOKIECUTTER_DIR)
18
-
19
- CONTEXT_SETTINGS = {"help_option_names": ["-h", "--help"]}
20
-
21
-
22
- @click.group(context_settings=CONTEXT_SETTINGS)
23
- def cli():
24
- """Manage Mesa projects."""
25
-
26
-
27
- @cli.command()
28
- @click.argument("project", type=PROJECT_PATH, default=".")
29
- def runserver(project):
30
- """Run mesa project PROJECT.
31
-
32
- PROJECT is the path to the directory containing `run.py`, or the current
33
- directory if not specified.
34
- """
35
- run_files = ["run.py", "server.py"]
36
- for run_file in run_files:
37
- run_path = Path(project) / run_file
38
- if not run_path.exists():
39
- continue
40
- args = [sys.executable, str(run_path)]
41
- call(args)
42
- sys.exit(f"ERROR: file run.py or server.py (in {Path(project)}) does not exist")
43
-
44
-
45
- @click.command()
46
- @click.option(
47
- "--no-input", is_flag=True, help="Do not prompt user for custom mesa model input."
48
- )
49
- def startproject(no_input):
50
- """Create a new mesa project."""
51
- args = ["cookiecutter", COOKIECUTTER_PATH]
52
- if no_input:
53
- args.append("--no-input")
54
- call(args)
55
-
56
-
57
- @click.command()
58
- def version():
59
- """Show the version of mesa."""
60
- print(f"mesa {__version__}")
61
-
62
-
63
- cli.add_command(runserver)
64
- cli.add_command(startproject)
65
- cli.add_command(version)
@@ -1,114 +0,0 @@
1
- examples/README.md,sha256=-H6ECbl2bqkAK3PKz6ixlm9pN13f-CyKfNssm2Kbyw0,2810
2
- examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- examples/advanced/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- examples/advanced/epstein_civil_violence/Epstein Civil Violence.ipynb,sha256=yh50ZAK2BVJyJIKsQTTxywnasqWn1IiQUVrwmZKue4w,29032
5
- examples/advanced/epstein_civil_violence/Readme.md,sha256=X3VHD2oI43QEeNd2_PzcYSK1PQMXwJHipluZtud7hx4,1891
6
- examples/advanced/epstein_civil_violence/requirements.txt,sha256=wGbc4N4Ald5cHmssu6QROK9XwbFlWPAiE3U0dE4qrjs,29
7
- examples/advanced/epstein_civil_violence/run.py,sha256=pGq0Y8_T_1shBU8t4ohJjHEun2rLrtD8AnffIArgKUg,83
8
- examples/advanced/epstein_civil_violence/epstein_civil_violence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- examples/advanced/epstein_civil_violence/epstein_civil_violence/agent.py,sha256=R1Nu-_c_qBPCvr1vl6GgamOP4AUV9GJdcF3V7frAgdY,5676
10
- examples/advanced/epstein_civil_violence/epstein_civil_violence/model.py,sha256=Rf6UuypdkER85V3uX9eVsWvwG7FitL0-biVSIj6227s,5100
11
- examples/advanced/epstein_civil_violence/epstein_civil_violence/portrayal.py,sha256=Ob9wWMwMtTEp52zSiGoNVoowBOtbN8neHtU73OyqLuU,804
12
- examples/advanced/epstein_civil_violence/epstein_civil_violence/server.py,sha256=26Yrf_tuPC1V1iLbbEZT1AK4x9lhRe0EKu5yOGWETR8,2233
13
- examples/advanced/pd_grid/analysis.ipynb,sha256=ReYtRe2JVyCCXoMBONvynXDQ_eGtQSWhNcuJY3CYTTI,82323
14
- examples/advanced/pd_grid/readme.md,sha256=teHdk3retAgsLYiJ3BNPeH0Jj5vYVk3drV-OPeT4hQI,2334
15
- examples/advanced/pd_grid/requirements.txt,sha256=wGbc4N4Ald5cHmssu6QROK9XwbFlWPAiE3U0dE4qrjs,29
16
- examples/advanced/pd_grid/run.py,sha256=XHBRcsV1TkxDucGqpEujwzZRWefP7UnYux2mJ-ZE1FI,68
17
- examples/advanced/pd_grid/pd_grid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- examples/advanced/pd_grid/pd_grid/agent.py,sha256=DzGj4LZUjV0xMQAwkRsv2Aoap1cUvLscJswfA1PdVDs,1716
19
- examples/advanced/pd_grid/pd_grid/model.py,sha256=xLYg7aGYrTqdxSRH4EsuvjMixrbDbMPTlv-54zlSKAI,2295
20
- examples/advanced/pd_grid/pd_grid/portrayal.py,sha256=bm1966HZTZsbaukEAiCVd4LiZGNS5wsKnf4vygNf9a8,561
21
- examples/advanced/pd_grid/pd_grid/server.py,sha256=mgjFSVvGl00WwA5P3lOuEGTsnStUWigAcJ-0Ixbk1p0,531
22
- examples/advanced/sugarscape_g1mt/Readme.md,sha256=EQTefsVYNVM_J82Bf4BSHwEA7rAcF6j7TFTY99XSsuw,4126
23
- examples/advanced/sugarscape_g1mt/app.py,sha256=PSLY6nPWQ2KGz809-FlMrUp5mS_Yrh09CRUf8hR9yGM,1946
24
- examples/advanced/sugarscape_g1mt/requirements.txt,sha256=qOAQy-dhycq2AqbbIWY_v3IeSbehPyzBjqrrPE4KnWA,51
25
- examples/advanced/sugarscape_g1mt/run.py,sha256=LpepAdiG2ee3Ne2Ce1feamAYt43MdRz6MyZ14MdQ7_M,2940
26
- examples/advanced/sugarscape_g1mt/tests.py,sha256=y8s88SymYtul0OE4g6YVElm0rbZ7wq5AEUUvn8WbpJU,2582
27
- examples/advanced/sugarscape_g1mt/sugarscape_g1mt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- examples/advanced/sugarscape_g1mt/sugarscape_g1mt/model.py,sha256=MAQp3LIC0yiJBmGsWmuv7-UFc39W_R2n2MXyjNeNk7I,6038
29
- examples/advanced/sugarscape_g1mt/sugarscape_g1mt/resource_agents.py,sha256=PJRJv3odUCJT93iwpulxP9p-IL36sCu8KMQA8k3dWG8,789
30
- examples/advanced/sugarscape_g1mt/sugarscape_g1mt/server.py,sha256=oT70ARLGPW8SuyEH2PBYPGna0JQgzyqX7NFdgLxXbRM,1697
31
- examples/advanced/sugarscape_g1mt/sugarscape_g1mt/sugar-map.txt,sha256=zZtGYciBPT4miZVnbVuoQ5TugTmGrbDWV9yb5KH6tnU,5000
32
- examples/advanced/sugarscape_g1mt/sugarscape_g1mt/trader_agents.py,sha256=oWOxvKd67bCis2MPhaLEF8_YZZ4If40y1anEo8oJkhA,9473
33
- examples/advanced/wolf_sheep/Readme.md,sha256=6zrtCg4Fb-hgQxqdLMpTkIYMwD6owCv8BMz_qn0N98Q,3165
34
- examples/advanced/wolf_sheep/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
- examples/advanced/wolf_sheep/requirements.txt,sha256=RiDVcvMXkHZ6u1mwimddgbae3h9ngQGDnhNEGTgMTXE,10
36
- examples/advanced/wolf_sheep/run.py,sha256=GGoA95RIlaaVBGfdMcn_MPTEUTiGj1BzVETgLUnxOUU,71
37
- examples/advanced/wolf_sheep/wolf_sheep/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- examples/advanced/wolf_sheep/wolf_sheep/agents.py,sha256=UocDCsKmXkWxt0-ToVIOhBjX-amYwMtZbHN8U2AolFI,3068
39
- examples/advanced/wolf_sheep/wolf_sheep/model.py,sha256=VAFqDNGhUzdKCR4Fajwnq6KMXsoLorw6XatBQNvIDCw,4416
40
- examples/advanced/wolf_sheep/wolf_sheep/server.py,sha256=vzb2l1dtEjR2qnoyHmSoGhj2o8GeB8nCxPe5DcR7Wug,2556
41
- examples/advanced/wolf_sheep/wolf_sheep/resources/sheep.png,sha256=WPO6dZNpSQmj3vbmXzJrFSBgZNvswfCqedOZB3pKaPY,1322
42
- examples/advanced/wolf_sheep/wolf_sheep/resources/wolf.png,sha256=1R9EXUI-BoI6exPTkscGrTpHEnEpsHM0_7oPmV-AhJQ,1473
43
- examples/basic/__init__.py,sha256=nvxSxncLovRhynU91IPhU9YtlnF2Akp9zlxVj9al_f4,384
44
- examples/basic/boid_flockers/Readme.md,sha256=-QjoIQcpGBXH0ix_3dHG-FcykbOf1FTkapSQme86nW0,1268
45
- examples/basic/boid_flockers/agents.py,sha256=QXT1zxOq_kdk_w60H2zPV3KpivzCHQ-ApyFIIDvxvok,2693
46
- examples/basic/boid_flockers/app.py,sha256=bNBDUZBwWqRegX_3OtMoro-y1NlVWWJIGGUYKyJLKHc,1237
47
- examples/basic/boid_flockers/model.py,sha256=a8B1afwAedgo-VyrCkS4KfnzO2G06kv4KKDuUcghwmw,2169
48
- examples/basic/boltzmann_wealth_model/Readme.md,sha256=FQSNNK7lXKZhGx_c688mrkjyr34g6YrHQw0nioD5bXk,2772
49
- examples/basic/boltzmann_wealth_model/agents.py,sha256=uVUo9jWQnv5I3uCaYE_N7X-cOdHhdy6RtLUL_znELgI,892
50
- examples/basic/boltzmann_wealth_model/app.py,sha256=yxaIPEvco21PQtdYmSfQGH2cYeFpOn7NCB-QXPDhfCk,1902
51
- examples/basic/boltzmann_wealth_model/model.py,sha256=XDd6XZ3z32R_bzC7tSwTBREda4KXpVnddVe6UxE4BUQ,1447
52
- examples/basic/boltzmann_wealth_model/st_app.py,sha256=v3Je2hSe8nXPgfmZhX8lHM-7xs8dk2g1Zz0X81AqX3k,3466
53
- examples/basic/conways_game_of_life/Readme.md,sha256=pYTAtzybiyxVZSmwwPlgIa4Y1X2d7iKLs_Ial0JVcsE,1535
54
- examples/basic/conways_game_of_life/agents.py,sha256=FF9eZgm_Lwt080wOk9LGnaXpdwD4WMSY44vHw2RE68A,1619
55
- examples/basic/conways_game_of_life/model.py,sha256=1X21-NlbtU9qseOfsLaTOTgGA9klWZCIFfgDWazyij4,1115
56
- examples/basic/conways_game_of_life/portrayal.py,sha256=pZYZFlShdz1OJ-lt5LhmJsxhKHBTjDv3I4JRBNfpHIs,531
57
- examples/basic/conways_game_of_life/requirements.txt,sha256=6qxgQJ4_fAsmgzZq2RuRG0xaP9NAg4QKBMBsQkVoNCM,9
58
- examples/basic/conways_game_of_life/server.py,sha256=Goe3hmrgiDFNV5k4q7BtUWnLpmY4lavVxyHsBmfaCKc,347
59
- examples/basic/conways_game_of_life/st_app.py,sha256=pAEepCp5vzfW52imEB_iTZ5254ZlQh0SnEUjSOOuJpA,2358
60
- examples/basic/schelling/README.md,sha256=G7SW0JkPpBBJg_bzG5LvcIJcaloMBwf-OJmOcLRPtqA,2417
61
- examples/basic/schelling/agents.py,sha256=dvznzN2As979x-4EH8Y-i7HhlCuv1OdtWYebOdxTdhk,773
62
- examples/basic/schelling/analysis.ipynb,sha256=JDJy6-U6eO-LrHWxZr1c3lkvtoY0DNHa-kJ4J-Z-wwo,5804
63
- examples/basic/schelling/app.py,sha256=DiSjAQZaI0jFBc3RvadrTHJlIaO64kOifxdt3EycDkI,945
64
- examples/basic/schelling/model.py,sha256=CfqWr1ZEu5FpC2YVYvHyJRlhN-mF8iQIaHcVTXWCA5M,1828
65
- examples/basic/virus_on_network/README.md,sha256=UnCkKiJK7wVw40a-oDR6qdf3QpCsBhgNOVZg-2UXPlc,2528
66
- examples/basic/virus_on_network/agents.py,sha256=a_WhqYblJlW6od67eXfU-nb7IMRyYpgxtf0le--VYoA,1975
67
- examples/basic/virus_on_network/app.py,sha256=y1Ie-E1cY3KhDnAVfFUSY0X6pf8dbBB8U62adtbEmk0,3288
68
- examples/basic/virus_on_network/model.py,sha256=EmInC4AdZLP_2S5yAoDrR-_7gq9siWuyyvV4mHM8VQw,2768
69
- mesa/__init__.py,sha256=eRKj2P6Fn6LvISXl5egh19VTDDu92HIPK1fKAxxIFnk,708
70
- mesa/agent.py,sha256=R8NchFZZlbUIE9eHkUV3U22W6EPS0JqEtkK1dhurv0I,24157
71
- mesa/batchrunner.py,sha256=0AqTcvjWNPp1aqn7zuUKSovx6Rnkk4M-KouCZ4Guqy0,6419
72
- mesa/datacollection.py,sha256=xyb07aBpd-HSDh5bk-XcVqGiDu5bfaLlxj5eDlGIwqY,16138
73
- mesa/examples.py,sha256=nD62FlGD-cf02sG_o6ViCJbOI0Z2sJbpqyjS_F19BbI,109
74
- mesa/main.py,sha256=_KgeVGbi0znzezjjoM09vhGdyaqcuDEwb9M7vH2c_O4,1668
75
- mesa/model.py,sha256=iJMlnqQPSgI1rUgnwpBIpyvdULO-XASlRU_H94nRlo8,9844
76
- mesa/space.py,sha256=1sVl78o5lYP6aEg32QIb9-tcv3V3UeFdC7A_h_8CgO8,62838
77
- mesa/time.py,sha256=5yWubqst13MfjXpsYjY-MNdIQH3KWi373KRmRZT5BBo,15044
78
- mesa/cookiecutter-mesa/cookiecutter.json,sha256=tBSWli39fOWUXGfiDCTKd92M7uKaBIswXbkOdbUufYY,337
79
- mesa/cookiecutter-mesa/hooks/post_gen_project.py,sha256=UKz12l6mKc7fILK0MvV5djsTKwkmD4DlH8LYjFO8ehI,316
80
- mesa/cookiecutter-mesa/{{cookiecutter.snake}}/README.md,sha256=Yji4lGY-NtQSnW-oBj0_Jhs-XhCfZA8R1mBBM_IllGs,80
81
- mesa/cookiecutter-mesa/{{cookiecutter.snake}}/app.pytemplate,sha256=36f9k9CH6TK6VrXsPvTFXGUfCKzCLwgYTeK-Gt27GNg,584
82
- mesa/cookiecutter-mesa/{{cookiecutter.snake}}/setup.pytemplate,sha256=UtRpLM_CkeUZRec-Ef_LiO_x7SKaWN11fOiH9T1UmTw,214
83
- mesa/cookiecutter-mesa/{{cookiecutter.snake}}/{{cookiecutter.snake}}/__init__.py,sha256=WgJccMfsAlD_mA3zTBPJVHadF3FtO8xgi8SPKORzyMs,22
84
- mesa/cookiecutter-mesa/{{cookiecutter.snake}}/{{cookiecutter.snake}}/model.pytemplate,sha256=Aml4Z6E1yj7E7DtHNSUqnKNRUdkxG9WWtJyW8fkxCng,1870
85
- mesa/experimental/UserParam.py,sha256=f32nmFjroe76HpxU75ZCEOqFW2nAsDfmqIf8kQ1zt-E,2086
86
- mesa/experimental/__init__.py,sha256=faBYyHSp-sFQPaBx8-WsLToVKCndpSzpt18HmNZtasM,385
87
- mesa/experimental/solara_viz.py,sha256=uWrNQAX3oEWSftmyjNorN839dBCUp86hnhpL704dyGQ,15212
88
- mesa/experimental/cell_space/__init__.py,sha256=-NtSCT7mA-aszLSAdqbICGqeFe2vBdb-GrcW562legY,999
89
- mesa/experimental/cell_space/cell.py,sha256=lDm7NQhPDFf3-SZu5W594lDNGtzcdSPUSSsELFRg0bs,7166
90
- mesa/experimental/cell_space/cell_agent.py,sha256=jvYOV9OIaBaqAsAG0YLV64X_f3BJe_wP7qfos_RXi0Y,3759
91
- mesa/experimental/cell_space/cell_collection.py,sha256=ZcyuPEevCZEXW7jFnX6StjBMw4UBDQvUspZRcFi2dFg,3426
92
- mesa/experimental/cell_space/discrete_space.py,sha256=bA-Ledq4mELnRtV5M-I9hhT3XKOy0uTdaT9U7u_Y0MY,5053
93
- mesa/experimental/cell_space/grid.py,sha256=oWTy6kaaHXLPneA-w5XdqzwA0YItMWYgCq_UjNH9iA8,7711
94
- mesa/experimental/cell_space/network.py,sha256=_x0zKlI-odNCSRb_Zqh4nBPjqnW5iVj8sVheKPCLzmU,1321
95
- mesa/experimental/cell_space/voronoi.py,sha256=lSY8zQhELvOy0RfDyZIek09UMwY9_20UY9SPqFWsNoM,10014
96
- mesa/experimental/components/altair.py,sha256=49OHgrm1JncfrKqDfw_5ifPtsbMKdgVYCacL9SMwucc,2624
97
- mesa/experimental/components/matplotlib.py,sha256=j477UBk_7yW5vzT3rjhnuTixpA7PedDNghoK9TLgHVY,8043
98
- mesa/experimental/devs/__init__.py,sha256=EByaC66ikUIu9G9p1geLm6ESEMWZOPTO9r9627S83j0,211
99
- mesa/experimental/devs/eventlist.py,sha256=Trvc5S-NG5B792uuk_cY8Q_5Rw99zioUYDQXcXWVuCo,5972
100
- mesa/experimental/devs/simulator.py,sha256=wvqkLIDgbJNaem9nwMacyEYRp0W3ai5Oxptw3-QmbSw,10595
101
- mesa/experimental/devs/examples/epstein_civil_violence.py,sha256=E8YSV3O5ihKsntGtnltHM-4IyS8eg2DSRUqmIiw_1iU,10916
102
- mesa/experimental/devs/examples/wolf_sheep.py,sha256=1eb1CfYNQoprqSJat-LPYPvwWH1ENQdj39viEqwSk0s,8103
103
- mesa/visualization/UserParam.py,sha256=Dl2WOwLYLf0pfLpabCZtIdFRyKZrK6Qtc3utZx5GPYg,2139
104
- mesa/visualization/__init__.py,sha256=sa8lqeLcDtte19SMzFiKP6K4CrVLxAPwrhDu_AsDWTs,395
105
- mesa/visualization/solara_viz.py,sha256=SHlQ8Y4k6EU7LxlJjjvvjDJWGWryahjQXCwMiVgoF0E,14944
106
- mesa/visualization/utils.py,sha256=lJHgRKF5BHLf72Tw3YpwyiWuRoIimaTKQ7xBCw_Rx3A,146
107
- mesa/visualization/components/altair.py,sha256=E-iblqpWhx72qrjkNz4Ie9c66Hh1OFpLVjuDIg9m2sA,2804
108
- mesa/visualization/components/matplotlib.py,sha256=_l0W_kjFsvpoOl-CBHvCoPplb5w_LQ77JC2xteIn2u0,11825
109
- mesa-3.0.0b1.dist-info/METADATA,sha256=Xnnt_bkId5QAI0-LWep2n0Kn-bf9iDEn9OI-RTbKzpo,9937
110
- mesa-3.0.0b1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
111
- mesa-3.0.0b1.dist-info/entry_points.txt,sha256=IOcQtetGF8l4wHpOs_hGb19Rz-FS__BMXOJR10IBPsA,39
112
- mesa-3.0.0b1.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
113
- mesa-3.0.0b1.dist-info/licenses/NOTICE,sha256=GbsWoK0QWv1JyZ_xer2s-jNilv0RtWl-0UrtlJANHPg,578
114
- mesa-3.0.0b1.dist-info/RECORD,,
File without changes
File without changes
File without changes
File without changes