Mesa 3.0.1__py3-none-any.whl → 3.0.2__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.
- mesa/__init__.py +1 -1
- mesa/examples/advanced/epstein_civil_violence/Readme.md +2 -4
- mesa/examples/advanced/sugarscape_g1mt/app.py +18 -2
- mesa/examples/advanced/wolf_sheep/app.py +1 -1
- mesa/examples/basic/boid_flockers/agents.py +5 -4
- mesa/examples/basic/boid_flockers/app.py +2 -5
- mesa/examples/basic/conways_game_of_life/app.py +25 -3
- mesa/examples/basic/conways_game_of_life/model.py +2 -2
- mesa/examples/basic/schelling/app.py +1 -1
- mesa/examples/basic/virus_on_network/Readme.md +2 -13
- mesa/examples/basic/virus_on_network/app.py +1 -1
- mesa/visualization/solara_viz.py +2 -2
- {mesa-3.0.1.dist-info → mesa-3.0.2.dist-info}/METADATA +1 -1
- {mesa-3.0.1.dist-info → mesa-3.0.2.dist-info}/RECORD +18 -18
- {mesa-3.0.1.dist-info → mesa-3.0.2.dist-info}/WHEEL +0 -0
- {mesa-3.0.1.dist-info → mesa-3.0.2.dist-info}/entry_points.txt +0 -0
- {mesa-3.0.1.dist-info → mesa-3.0.2.dist-info}/licenses/LICENSE +0 -0
- {mesa-3.0.1.dist-info → mesa-3.0.2.dist-info}/licenses/NOTICE +0 -0
mesa/__init__.py
CHANGED
|
@@ -24,7 +24,7 @@ __all__ = [
|
|
|
24
24
|
]
|
|
25
25
|
|
|
26
26
|
__title__ = "mesa"
|
|
27
|
-
__version__ = "3.0.
|
|
27
|
+
__version__ = "3.0.2"
|
|
28
28
|
__license__ = "Apache 2.0"
|
|
29
29
|
_this_year = datetime.datetime.now(tz=datetime.timezone.utc).date().year
|
|
30
30
|
__copyright__ = f"Copyright {_this_year} Project Mesa Team"
|
|
@@ -8,14 +8,12 @@ The model generates mass uprising as self-reinforcing processes: if enough agent
|
|
|
8
8
|
|
|
9
9
|
## How to Run
|
|
10
10
|
|
|
11
|
-
To run the model interactively,
|
|
11
|
+
To run the model interactively, in this directory, run the following command
|
|
12
12
|
|
|
13
13
|
```
|
|
14
|
-
$
|
|
14
|
+
$ solara run app.py
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
Then open your browser to [http://127.0.0.1:8521/](http://127.0.0.1:8521/) and press Reset, then Run.
|
|
18
|
-
|
|
19
17
|
## Files
|
|
20
18
|
|
|
21
19
|
* ``model.py``: Core model code.
|
|
@@ -4,7 +4,7 @@ from matplotlib.figure import Figure
|
|
|
4
4
|
|
|
5
5
|
from mesa.examples.advanced.sugarscape_g1mt.agents import Trader
|
|
6
6
|
from mesa.examples.advanced.sugarscape_g1mt.model import SugarscapeG1mt
|
|
7
|
-
from mesa.visualization import SolaraViz, make_plot_component
|
|
7
|
+
from mesa.visualization import Slider, SolaraViz, make_plot_component
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def SpaceDrawer(model):
|
|
@@ -49,13 +49,29 @@ def SpaceDrawer(model):
|
|
|
49
49
|
model_params = {
|
|
50
50
|
"width": 50,
|
|
51
51
|
"height": 50,
|
|
52
|
+
# Population parameters
|
|
53
|
+
"initial_population": Slider(
|
|
54
|
+
"Initial Population", value=200, min=50, max=500, step=10
|
|
55
|
+
),
|
|
56
|
+
# Agent endowment parameters
|
|
57
|
+
"endowment_min": Slider("Min Initial Endowment", value=25, min=5, max=30, step=1),
|
|
58
|
+
"endowment_max": Slider("Max Initial Endowment", value=50, min=30, max=100, step=1),
|
|
59
|
+
# Metabolism parameters
|
|
60
|
+
"metabolism_min": Slider("Min Metabolism", value=1, min=1, max=3, step=1),
|
|
61
|
+
"metabolism_max": Slider("Max Metabolism", value=5, min=3, max=8, step=1),
|
|
62
|
+
# Vision parameters
|
|
63
|
+
"vision_min": Slider("Min Vision", value=1, min=1, max=3, step=1),
|
|
64
|
+
"vision_max": Slider("Max Vision", value=5, min=3, max=8, step=1),
|
|
65
|
+
# Trade parameter
|
|
66
|
+
"enable_trade": {"type": "Checkbox", "value": True, "label": "Enable Trading"},
|
|
52
67
|
}
|
|
53
68
|
|
|
54
|
-
model1 = SugarscapeG1mt(
|
|
69
|
+
model1 = SugarscapeG1mt()
|
|
55
70
|
|
|
56
71
|
page = SolaraViz(
|
|
57
72
|
model1,
|
|
58
73
|
components=[SpaceDrawer, make_plot_component(["Trader", "Price"])],
|
|
74
|
+
model_params=model_params,
|
|
59
75
|
name="Sugarscape {G1, M, T}",
|
|
60
76
|
play_interval=150,
|
|
61
77
|
)
|
|
@@ -54,13 +54,14 @@ class Boid(Agent):
|
|
|
54
54
|
self.cohere_factor = cohere
|
|
55
55
|
self.separate_factor = separate
|
|
56
56
|
self.match_factor = match
|
|
57
|
+
self.neighbors = []
|
|
57
58
|
|
|
58
59
|
def step(self):
|
|
59
60
|
"""Get the Boid's neighbors, compute the new vector, and move accordingly."""
|
|
60
|
-
neighbors = self.model.space.get_neighbors(self.pos, self.vision, False)
|
|
61
|
+
self.neighbors = self.model.space.get_neighbors(self.pos, self.vision, False)
|
|
61
62
|
|
|
62
63
|
# If no neighbors, maintain current direction
|
|
63
|
-
if not neighbors:
|
|
64
|
+
if not self.neighbors:
|
|
64
65
|
new_pos = self.pos + self.direction * self.speed
|
|
65
66
|
self.model.space.move_agent(self, new_pos)
|
|
66
67
|
return
|
|
@@ -71,7 +72,7 @@ class Boid(Agent):
|
|
|
71
72
|
separation_vector = np.zeros(2) # Separation vector
|
|
72
73
|
|
|
73
74
|
# Calculate the contribution of each neighbor to the three behaviors
|
|
74
|
-
for neighbor in neighbors:
|
|
75
|
+
for neighbor in self.neighbors:
|
|
75
76
|
heading = self.model.space.get_heading(self.pos, neighbor.pos)
|
|
76
77
|
distance = self.model.space.get_distance(self.pos, neighbor.pos)
|
|
77
78
|
|
|
@@ -86,7 +87,7 @@ class Boid(Agent):
|
|
|
86
87
|
match_vector += neighbor.direction
|
|
87
88
|
|
|
88
89
|
# Weight each behavior by its factor and normalize by number of neighbors
|
|
89
|
-
n = len(neighbors)
|
|
90
|
+
n = len(self.neighbors)
|
|
90
91
|
cohere = cohere * self.cohere_factor
|
|
91
92
|
separation_vector = separation_vector * self.separate_factor
|
|
92
93
|
match_vector = match_vector * self.match_factor
|
|
@@ -3,10 +3,7 @@ from mesa.visualization import Slider, SolaraViz, make_space_component
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
def boid_draw(agent):
|
|
6
|
-
|
|
7
|
-
neighbors = len(agent.model.space.get_neighbors(agent.pos, agent.vision, False))
|
|
8
|
-
else:
|
|
9
|
-
neighbors = len(agent.neighbors)
|
|
6
|
+
neighbors = len(agent.neighbors)
|
|
10
7
|
|
|
11
8
|
if neighbors <= 1:
|
|
12
9
|
return {"color": "red", "size": 20}
|
|
@@ -51,7 +48,7 @@ model = BoidFlockers()
|
|
|
51
48
|
|
|
52
49
|
page = SolaraViz(
|
|
53
50
|
model,
|
|
54
|
-
[make_space_component(agent_portrayal=boid_draw, backend="matplotlib")],
|
|
51
|
+
components=[make_space_component(agent_portrayal=boid_draw, backend="matplotlib")],
|
|
55
52
|
model_params=model_params,
|
|
56
53
|
name="Boid Flocking Model",
|
|
57
54
|
)
|
|
@@ -20,12 +20,34 @@ def post_process(ax):
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
model_params = {
|
|
23
|
-
"width":
|
|
24
|
-
|
|
23
|
+
"width": {
|
|
24
|
+
"type": "SliderInt",
|
|
25
|
+
"value": 50,
|
|
26
|
+
"label": "Width",
|
|
27
|
+
"min": 5,
|
|
28
|
+
"max": 60,
|
|
29
|
+
"step": 1,
|
|
30
|
+
},
|
|
31
|
+
"height": {
|
|
32
|
+
"type": "SliderInt",
|
|
33
|
+
"value": 50,
|
|
34
|
+
"label": "Height",
|
|
35
|
+
"min": 5,
|
|
36
|
+
"max": 60,
|
|
37
|
+
"step": 1,
|
|
38
|
+
},
|
|
39
|
+
"initial_fraction_alive": {
|
|
40
|
+
"type": "SliderFloat",
|
|
41
|
+
"value": 0.2,
|
|
42
|
+
"label": "Cells initially alive",
|
|
43
|
+
"min": 0,
|
|
44
|
+
"max": 1,
|
|
45
|
+
"step": 0.01,
|
|
46
|
+
},
|
|
25
47
|
}
|
|
26
48
|
|
|
27
49
|
# Create initial model instance
|
|
28
|
-
model1 = ConwaysGameOfLife(
|
|
50
|
+
model1 = ConwaysGameOfLife()
|
|
29
51
|
|
|
30
52
|
# Create visualization elements. The visualization elements are solara components
|
|
31
53
|
# that receive the model instance as a "prop" and display it in a certain way.
|
|
@@ -6,7 +6,7 @@ from mesa.space import SingleGrid
|
|
|
6
6
|
class ConwaysGameOfLife(Model):
|
|
7
7
|
"""Represents the 2-dimensional array of cells in Conway's Game of Life."""
|
|
8
8
|
|
|
9
|
-
def __init__(self, width=50, height=50, seed=None):
|
|
9
|
+
def __init__(self, width=50, height=50, initial_fraction_alive=0.2, seed=None):
|
|
10
10
|
"""Create a new playing area of (width, height) cells."""
|
|
11
11
|
super().__init__(seed=seed)
|
|
12
12
|
# Use a simple grid, where edges wrap around.
|
|
@@ -16,7 +16,7 @@ class ConwaysGameOfLife(Model):
|
|
|
16
16
|
# ALIVE and some to DEAD.
|
|
17
17
|
for _contents, (x, y) in self.grid.coord_iter():
|
|
18
18
|
cell = Cell((x, y), self)
|
|
19
|
-
if self.random.random() <
|
|
19
|
+
if self.random.random() < initial_fraction_alive:
|
|
20
20
|
cell.state = cell.ALIVE
|
|
21
21
|
self.grid.place_agent(cell, (x, y))
|
|
22
22
|
|
|
@@ -24,23 +24,12 @@ To install the dependencies use pip and the requirements.txt in this directory.
|
|
|
24
24
|
|
|
25
25
|
## How to Run
|
|
26
26
|
|
|
27
|
-
To run the model interactively,
|
|
27
|
+
To run the model interactively, in this directory, run the following command
|
|
28
28
|
|
|
29
29
|
```
|
|
30
|
-
$
|
|
30
|
+
$ solara run app.py
|
|
31
31
|
```
|
|
32
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
|
-
or
|
|
36
|
-
|
|
37
|
-
Directly run the file ``run.py`` in the terminal. e.g.
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
$ python run.py
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
|
|
44
33
|
## Files
|
|
45
34
|
|
|
46
35
|
* ``model.py``: Contains the agent class, and the overall model class.
|
mesa/visualization/solara_viz.py
CHANGED
|
@@ -43,10 +43,10 @@ if TYPE_CHECKING:
|
|
|
43
43
|
@solara.component
|
|
44
44
|
def SolaraViz(
|
|
45
45
|
model: Model | solara.Reactive[Model],
|
|
46
|
-
*,
|
|
47
46
|
components: list[reacton.core.Component]
|
|
48
47
|
| list[Callable[[Model], reacton.core.Component]]
|
|
49
48
|
| Literal["default"] = "default",
|
|
49
|
+
*,
|
|
50
50
|
play_interval: int = 100,
|
|
51
51
|
simulator: Simulator | None = None,
|
|
52
52
|
model_params=None,
|
|
@@ -276,7 +276,7 @@ def SimulatorController(
|
|
|
276
276
|
running.value = True
|
|
277
277
|
simulator.reset()
|
|
278
278
|
model.value = model.value = model.value.__class__(
|
|
279
|
-
simulator, **model_parameters.value
|
|
279
|
+
simulator=simulator, **model_parameters.value
|
|
280
280
|
)
|
|
281
281
|
|
|
282
282
|
def do_play_pause():
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
mesa/__init__.py,sha256=
|
|
1
|
+
mesa/__init__.py,sha256=VuQfSpSoRqzqyiVdHe0lS5yFYaNIaZDHkacxmDc6oT4,657
|
|
2
2
|
mesa/agent.py,sha256=k85bw5iVX0MmaVlJg3mG_liobN_sIVsrZf76YZ_hMyA,25289
|
|
3
3
|
mesa/batchrunner.py,sha256=sMFLTxj5avP_-HGO0leLVuxXK2dH0xdPopvhAmawwRQ,7213
|
|
4
4
|
mesa/datacollection.py,sha256=xyb07aBpd-HSDh5bk-XcVqGiDu5bfaLlxj5eDlGIwqY,16138
|
|
@@ -9,7 +9,7 @@ mesa/examples/README.md,sha256=dNn8kv0BNQem3NNhO5mbOANQoK8UUYOo7rnkCFV9tnE,2882
|
|
|
9
9
|
mesa/examples/__init__.py,sha256=fP1vcexySnKowS2CKhfeyYLt058VpIkK26EOo3btyO0,825
|
|
10
10
|
mesa/examples/advanced/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
mesa/examples/advanced/epstein_civil_violence/Epstein Civil Violence.ipynb,sha256=yh50ZAK2BVJyJIKsQTTxywnasqWn1IiQUVrwmZKue4w,29032
|
|
12
|
-
mesa/examples/advanced/epstein_civil_violence/Readme.md,sha256=
|
|
12
|
+
mesa/examples/advanced/epstein_civil_violence/Readme.md,sha256=RXuGIZAibz3KVkP51PGjwzcRx2R9Ettmh3qbDTPqDcg,1735
|
|
13
13
|
mesa/examples/advanced/epstein_civil_violence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
mesa/examples/advanced/epstein_civil_violence/agents.py,sha256=0X4JLj2K2cl1bACkFLI6-K6tKbr2SLZlAy_kjgUDjzA,5863
|
|
15
15
|
mesa/examples/advanced/epstein_civil_violence/app.py,sha256=puJmjkEevHyilfDpnkE65Y2ax6JEyOALg-IEtK8jBKk,1787
|
|
@@ -23,20 +23,20 @@ mesa/examples/advanced/pd_grid/model.py,sha256=DiHGeX7fR1slvcAzbmDCxnmXJ2Txjmju_
|
|
|
23
23
|
mesa/examples/advanced/sugarscape_g1mt/Readme.md,sha256=x3kKw1Rre2FPkNhGDLtdzeThmH089mxsGYUPZUeu26k,3595
|
|
24
24
|
mesa/examples/advanced/sugarscape_g1mt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
25
|
mesa/examples/advanced/sugarscape_g1mt/agents.py,sha256=zE7zbO2_OaQiFDq_-t-0hv4ButBWv26dnS1zaPc3_ZE,10183
|
|
26
|
-
mesa/examples/advanced/sugarscape_g1mt/app.py,sha256=
|
|
26
|
+
mesa/examples/advanced/sugarscape_g1mt/app.py,sha256=ZB0jIBG6sLrVXxmuQyqqhJyaSCLvWmbe8oqgn7oaWcs,2781
|
|
27
27
|
mesa/examples/advanced/sugarscape_g1mt/model.py,sha256=NFQRqwuOwP3kz1fNNPEm2XkdbS0G3-TgneiJdQZHqck,6111
|
|
28
28
|
mesa/examples/advanced/sugarscape_g1mt/sugar-map.txt,sha256=zZtGYciBPT4miZVnbVuoQ5TugTmGrbDWV9yb5KH6tnU,5000
|
|
29
29
|
mesa/examples/advanced/sugarscape_g1mt/tests.py,sha256=UNahmZTgLquSqmoi_9GcE3JP0qBHjkrHFZ15NMm0ce8,2517
|
|
30
30
|
mesa/examples/advanced/wolf_sheep/Readme.md,sha256=6zrtCg4Fb-hgQxqdLMpTkIYMwD6owCv8BMz_qn0N98Q,3165
|
|
31
31
|
mesa/examples/advanced/wolf_sheep/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
32
|
mesa/examples/advanced/wolf_sheep/agents.py,sha256=SISizN_alheFAXEP3NaeQTx22SPs0v3pRYqXKRyuXCo,3801
|
|
33
|
-
mesa/examples/advanced/wolf_sheep/app.py,sha256=
|
|
33
|
+
mesa/examples/advanced/wolf_sheep/app.py,sha256=IIl-gDh1O3oYIvrXXGmKHbW5Iw3ZpCn691dGwKgyI3E,2508
|
|
34
34
|
mesa/examples/advanced/wolf_sheep/model.py,sha256=UYUY8GP6YA64mbJkWDr9eUSZlE8naxv8-a2qaGPdUXE,4531
|
|
35
35
|
mesa/examples/basic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
36
|
mesa/examples/basic/boid_flockers/Readme.md,sha256=4KJinsLPtUciQSMzvaX3tU5r1HTUg3AFOFDKy73W5RE,894
|
|
37
37
|
mesa/examples/basic/boid_flockers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
-
mesa/examples/basic/boid_flockers/agents.py,sha256=
|
|
39
|
-
mesa/examples/basic/boid_flockers/app.py,sha256=
|
|
38
|
+
mesa/examples/basic/boid_flockers/agents.py,sha256=72oL4jWEiJfSgshSEcL44irptIY6WAQDRAQ0cO2MxS8,3827
|
|
39
|
+
mesa/examples/basic/boid_flockers/app.py,sha256=CLXzUJ8-9FdrNVElGsAas6l37n_qSv8akH4hXEZQ8OY,1141
|
|
40
40
|
mesa/examples/basic/boid_flockers/model.py,sha256=scy0OaYzQVY5vVarsI7dUydynwoH3-uYoYcsBTtwtyA,3399
|
|
41
41
|
mesa/examples/basic/boltzmann_wealth_model/Readme.md,sha256=wl1ylO9KWoTiuIJKOnk2FGdcmyVUqJ5wiSbVUa3WWAc,2725
|
|
42
42
|
mesa/examples/basic/boltzmann_wealth_model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -47,19 +47,19 @@ mesa/examples/basic/boltzmann_wealth_model/st_app.py,sha256=X8C7w294UidciQqiiuBW
|
|
|
47
47
|
mesa/examples/basic/conways_game_of_life/Readme.md,sha256=VRgN6roF6leQ_IMYwxFypSfFjZo9jnCd-rkPTjpp7II,1453
|
|
48
48
|
mesa/examples/basic/conways_game_of_life/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
49
|
mesa/examples/basic/conways_game_of_life/agents.py,sha256=ETn87GV8it9p0nlSn6f1qu5CDEmqokkr6Rq7KWaT-5U,1627
|
|
50
|
-
mesa/examples/basic/conways_game_of_life/app.py,sha256=
|
|
51
|
-
mesa/examples/basic/conways_game_of_life/model.py,sha256=
|
|
50
|
+
mesa/examples/basic/conways_game_of_life/app.py,sha256=Q2Z16x2D9e8BYErn7xIvgdwyxKeeQKO2wNPbxi2acEw,1894
|
|
51
|
+
mesa/examples/basic/conways_game_of_life/model.py,sha256=8L88m8F_YauwWeDef6UA2myQoAwC0B5sH5jsfyLn-u8,1221
|
|
52
52
|
mesa/examples/basic/conways_game_of_life/st_app.py,sha256=_poqU2VR4rfiiq4WFXTbOUSW7liuM86iq913mW6LS50,2400
|
|
53
53
|
mesa/examples/basic/schelling/Readme.md,sha256=CRKBfYtnLJLlTKLsTRQ-7gsQRxVxDooOBN5uP8PEtaU,2296
|
|
54
54
|
mesa/examples/basic/schelling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
55
|
mesa/examples/basic/schelling/agents.py,sha256=BzipyAU5d_H4DoTm3xkeZLDazsr49rbaVr_kyk1rDJA,937
|
|
56
56
|
mesa/examples/basic/schelling/analysis.ipynb,sha256=JDJy6-U6eO-LrHWxZr1c3lkvtoY0DNHa-kJ4J-Z-wwo,5804
|
|
57
|
-
mesa/examples/basic/schelling/app.py,sha256=
|
|
57
|
+
mesa/examples/basic/schelling/app.py,sha256=UDIL6MBIfFPLNT8D9Y0sV0aJwfgQR9aNZxq5png8Gbs,954
|
|
58
58
|
mesa/examples/basic/schelling/model.py,sha256=ruqiMNBBsWV81srYZgdsfDVwgMWYuw2VAzSQhsK5E98,2762
|
|
59
|
-
mesa/examples/basic/virus_on_network/Readme.md,sha256=
|
|
59
|
+
mesa/examples/basic/virus_on_network/Readme.md,sha256=qmXGx4Fo0tRBvJiiJ684bkWJPn2gcFaiikLwgc5APWI,2336
|
|
60
60
|
mesa/examples/basic/virus_on_network/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
61
|
mesa/examples/basic/virus_on_network/agents.py,sha256=a_WhqYblJlW6od67eXfU-nb7IMRyYpgxtf0le--VYoA,1975
|
|
62
|
-
mesa/examples/basic/virus_on_network/app.py,sha256=
|
|
62
|
+
mesa/examples/basic/virus_on_network/app.py,sha256=6bkIYXj1cdhhBksVT5UN8OrrZFVrHJXRzIknhlQcuu4,2450
|
|
63
63
|
mesa/examples/basic/virus_on_network/model.py,sha256=jQoCmvygwCvhUrlL0l7V8GcDLv94CgwtuK7DDGU8q8g,2813
|
|
64
64
|
mesa/experimental/UserParam.py,sha256=f32nmFjroe76HpxU75ZCEOqFW2nAsDfmqIf8kQ1zt-E,2086
|
|
65
65
|
mesa/experimental/__init__.py,sha256=faBYyHSp-sFQPaBx8-WsLToVKCndpSzpt18HmNZtasM,385
|
|
@@ -81,15 +81,15 @@ mesa/experimental/devs/examples/epstein_civil_violence.py,sha256=E8YSV3O5ihKsntG
|
|
|
81
81
|
mesa/experimental/devs/examples/wolf_sheep.py,sha256=1eb1CfYNQoprqSJat-LPYPvwWH1ENQdj39viEqwSk0s,8103
|
|
82
82
|
mesa/visualization/__init__.py,sha256=o30F2VApnDJ6Zq0_U5_wBnj-6-Bu7FGPsOq3A6p2EqA,743
|
|
83
83
|
mesa/visualization/mpl_space_drawing.py,sha256=yf3Sc7pm5EJLxfWQdtR-9PcUtZveEEjar1WUr7qwI4o,20057
|
|
84
|
-
mesa/visualization/solara_viz.py,sha256=
|
|
84
|
+
mesa/visualization/solara_viz.py,sha256=pGtfjFfFMLwF9vmy5btiHRZww6NGoiKu0tzNdhZaYj4,17947
|
|
85
85
|
mesa/visualization/user_param.py,sha256=Dl2WOwLYLf0pfLpabCZtIdFRyKZrK6Qtc3utZx5GPYg,2139
|
|
86
86
|
mesa/visualization/utils.py,sha256=lJHgRKF5BHLf72Tw3YpwyiWuRoIimaTKQ7xBCw_Rx3A,146
|
|
87
87
|
mesa/visualization/components/__init__.py,sha256=Bq3nrPikcaIo9BSs0O3zptWVLlUmAkLo3s0mEmpH1RE,3022
|
|
88
88
|
mesa/visualization/components/altair_components.py,sha256=wotpFFQgMY-ZR3lNVm_fRos-iDg0Wjnj6Tk67_7f1SQ,5847
|
|
89
89
|
mesa/visualization/components/matplotlib_components.py,sha256=xQETaFyHIfmL_9JwrLIgubuIQ7-pp7TMoXT1WMmozus,5441
|
|
90
|
-
mesa-3.0.
|
|
91
|
-
mesa-3.0.
|
|
92
|
-
mesa-3.0.
|
|
93
|
-
mesa-3.0.
|
|
94
|
-
mesa-3.0.
|
|
95
|
-
mesa-3.0.
|
|
90
|
+
mesa-3.0.2.dist-info/METADATA,sha256=msHzQcCASIeP1Wv3W5SUyYLJiZ3GOeC5-dT1GMLlHCw,9782
|
|
91
|
+
mesa-3.0.2.dist-info/WHEEL,sha256=3U_NnUcV_1B1kPkYaPzN-irRckL5VW_lytn0ytO_kRY,87
|
|
92
|
+
mesa-3.0.2.dist-info/entry_points.txt,sha256=IOcQtetGF8l4wHpOs_hGb19Rz-FS__BMXOJR10IBPsA,39
|
|
93
|
+
mesa-3.0.2.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
94
|
+
mesa-3.0.2.dist-info/licenses/NOTICE,sha256=GbsWoK0QWv1JyZ_xer2s-jNilv0RtWl-0UrtlJANHPg,578
|
|
95
|
+
mesa-3.0.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|