Mesa 3.1.5__py3-none-any.whl → 3.2.0__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.
- mesa/__init__.py +3 -1
- mesa/agent.py +26 -9
- mesa/discrete_space/__init__.py +50 -0
- mesa/{experimental/cell_space → discrete_space}/cell.py +29 -10
- mesa/{experimental/cell_space → discrete_space}/cell_agent.py +1 -1
- mesa/{experimental/cell_space → discrete_space}/cell_collection.py +3 -3
- mesa/{experimental/cell_space → discrete_space}/discrete_space.py +65 -3
- mesa/{experimental/cell_space → discrete_space}/grid.py +2 -2
- mesa/{experimental/cell_space → discrete_space}/network.py +22 -2
- mesa/{experimental/cell_space → discrete_space}/property_layer.py +1 -10
- mesa/{experimental/cell_space → discrete_space}/voronoi.py +2 -2
- mesa/examples/README.md +1 -1
- mesa/examples/__init__.py +2 -0
- mesa/examples/advanced/alliance_formation/Readme.md +50 -0
- mesa/examples/advanced/alliance_formation/__init__ .py +0 -0
- mesa/examples/advanced/alliance_formation/agents.py +20 -0
- mesa/examples/advanced/alliance_formation/app.py +71 -0
- mesa/examples/advanced/alliance_formation/model.py +184 -0
- mesa/examples/advanced/epstein_civil_violence/agents.py +1 -1
- mesa/examples/advanced/epstein_civil_violence/model.py +1 -1
- mesa/examples/advanced/pd_grid/Readme.md +4 -6
- mesa/examples/advanced/pd_grid/agents.py +1 -1
- mesa/examples/advanced/pd_grid/model.py +1 -1
- mesa/examples/advanced/sugarscape_g1mt/Readme.md +4 -5
- mesa/examples/advanced/sugarscape_g1mt/agents.py +1 -1
- mesa/examples/advanced/sugarscape_g1mt/model.py +2 -2
- mesa/examples/advanced/wolf_sheep/Readme.md +2 -17
- mesa/examples/advanced/wolf_sheep/agents.py +1 -1
- mesa/examples/advanced/wolf_sheep/app.py +2 -1
- mesa/examples/advanced/wolf_sheep/model.py +1 -1
- mesa/examples/basic/boid_flockers/Readme.md +6 -1
- mesa/examples/basic/boid_flockers/agents.py +1 -0
- mesa/examples/basic/boid_flockers/app.py +17 -2
- mesa/examples/basic/boid_flockers/model.py +12 -0
- mesa/examples/basic/boltzmann_wealth_model/Readme.md +2 -12
- mesa/examples/basic/boltzmann_wealth_model/agents.py +6 -11
- mesa/examples/basic/boltzmann_wealth_model/app.py +2 -2
- mesa/examples/basic/boltzmann_wealth_model/model.py +7 -11
- mesa/examples/basic/conways_game_of_life/Readme.md +1 -9
- mesa/examples/basic/conways_game_of_life/agents.py +13 -5
- mesa/examples/basic/conways_game_of_life/model.py +10 -7
- mesa/examples/basic/schelling/Readme.md +0 -8
- mesa/examples/basic/schelling/agents.py +13 -8
- mesa/examples/basic/schelling/model.py +6 -9
- mesa/examples/basic/virus_on_network/Readme.md +0 -4
- mesa/examples/basic/virus_on_network/agents.py +13 -17
- mesa/examples/basic/virus_on_network/model.py +20 -24
- mesa/experimental/__init__.py +2 -2
- mesa/experimental/cell_space/__init__.py +18 -8
- mesa/experimental/meta_agents/__init__.py +25 -0
- mesa/experimental/meta_agents/meta_agent.py +387 -0
- mesa/model.py +3 -3
- mesa/space.py +1 -12
- mesa/visualization/__init__.py +2 -0
- mesa/visualization/command_console.py +482 -0
- mesa/visualization/components/altair_components.py +276 -16
- mesa/visualization/mpl_space_drawing.py +17 -9
- mesa/visualization/solara_viz.py +150 -21
- {mesa-3.1.5.dist-info → mesa-3.2.0.dist-info}/METADATA +12 -8
- mesa-3.2.0.dist-info/RECORD +105 -0
- mesa-3.1.5.dist-info/RECORD +0 -96
- {mesa-3.1.5.dist-info → mesa-3.2.0.dist-info}/WHEEL +0 -0
- {mesa-3.1.5.dist-info → mesa-3.2.0.dist-info}/licenses/LICENSE +0 -0
- {mesa-3.1.5.dist-info → mesa-3.2.0.dist-info}/licenses/NOTICE +0 -0
mesa/visualization/solara_viz.py
CHANGED
|
@@ -25,15 +25,20 @@ from __future__ import annotations
|
|
|
25
25
|
|
|
26
26
|
import asyncio
|
|
27
27
|
import inspect
|
|
28
|
+
import threading
|
|
29
|
+
import time
|
|
30
|
+
import traceback
|
|
28
31
|
from collections.abc import Callable
|
|
29
32
|
from typing import TYPE_CHECKING, Literal
|
|
30
33
|
|
|
31
34
|
import reacton.core
|
|
32
35
|
import solara
|
|
36
|
+
import solara.lab
|
|
33
37
|
|
|
34
38
|
import mesa.visualization.components.altair_components as components_altair
|
|
35
39
|
from mesa.experimental.devs.simulator import Simulator
|
|
36
40
|
from mesa.mesa_logging import create_module_logger, function_logger
|
|
41
|
+
from mesa.visualization.command_console import CommandConsole
|
|
37
42
|
from mesa.visualization.user_param import Slider
|
|
38
43
|
from mesa.visualization.utils import force_update, update_counter
|
|
39
44
|
|
|
@@ -56,6 +61,8 @@ def SolaraViz(
|
|
|
56
61
|
simulator: Simulator | None = None,
|
|
57
62
|
model_params=None,
|
|
58
63
|
name: str | None = None,
|
|
64
|
+
use_threads: bool = False,
|
|
65
|
+
**console_kwargs,
|
|
59
66
|
):
|
|
60
67
|
"""Solara visualization component.
|
|
61
68
|
|
|
@@ -75,10 +82,18 @@ def SolaraViz(
|
|
|
75
82
|
This controls the speed of the model's automatic stepping. Defaults to 100 ms.
|
|
76
83
|
render_interval (int, optional): Controls how often plots are updated during a simulation,
|
|
77
84
|
allowing users to skip intermediate steps and update graphs less frequently.
|
|
85
|
+
use_threads: Flag for indicating whether to utilize multi-threading for model execution.
|
|
86
|
+
When checked, the model will utilize multiple threads,adjust based on system capabilities.
|
|
78
87
|
simulator: A simulator that controls the model (optional)
|
|
79
88
|
model_params (dict, optional): Parameters for (re-)instantiating a model.
|
|
80
89
|
Can include user-adjustable parameters and fixed parameters. Defaults to None.
|
|
81
|
-
name (str | None, optional): Name of the visualization. Defaults to the
|
|
90
|
+
name (str | None, optional): Name of the visualization. Defaults to the model's class name.
|
|
91
|
+
**console_kwargs (dict, optional): Arguments to pass to the command console.
|
|
92
|
+
Currently supported arguments:
|
|
93
|
+
- additional_imports: Dictionary of names to objects to import into the command console.
|
|
94
|
+
- Example:
|
|
95
|
+
>>> console_kwargs = {"additional_imports": {"numpy": np}}
|
|
96
|
+
>>> SolaraViz(model, console_kwargs=console_kwargs)
|
|
82
97
|
|
|
83
98
|
Returns:
|
|
84
99
|
solara.component: A Solara component that renders the visualization interface for the model.
|
|
@@ -94,7 +109,7 @@ def SolaraViz(
|
|
|
94
109
|
- The `play_interval` argument controls the speed of the model's automatic stepping. A lower
|
|
95
110
|
value results in faster stepping, while a higher value results in slower stepping.
|
|
96
111
|
- The `render_interval` argument determines how often plots are updated during simulation. Higher values
|
|
97
|
-
reduce update frequency,resulting in faster execution.
|
|
112
|
+
reduce update frequency, resulting in faster execution.
|
|
98
113
|
"""
|
|
99
114
|
if components == "default":
|
|
100
115
|
components = [
|
|
@@ -113,8 +128,10 @@ def SolaraViz(
|
|
|
113
128
|
reactive_model_parameters = solara.use_reactive({})
|
|
114
129
|
reactive_play_interval = solara.use_reactive(play_interval)
|
|
115
130
|
reactive_render_interval = solara.use_reactive(render_interval)
|
|
131
|
+
reactive_use_threads = solara.use_reactive(use_threads)
|
|
116
132
|
with solara.AppBar():
|
|
117
133
|
solara.AppBarTitle(name if name else model.value.__class__.__name__)
|
|
134
|
+
solara.lab.ThemeToggle()
|
|
118
135
|
|
|
119
136
|
with solara.Sidebar(), solara.Column():
|
|
120
137
|
with solara.Card("Controls"):
|
|
@@ -134,12 +151,25 @@ def SolaraViz(
|
|
|
134
151
|
max=100,
|
|
135
152
|
step=2,
|
|
136
153
|
)
|
|
154
|
+
if reactive_use_threads.value:
|
|
155
|
+
solara.Text("Increase play interval to avoid skipping plots")
|
|
156
|
+
|
|
157
|
+
def set_reactive_use_threads(value):
|
|
158
|
+
reactive_use_threads.set(value)
|
|
159
|
+
|
|
160
|
+
solara.Checkbox(
|
|
161
|
+
label="Use Threads",
|
|
162
|
+
value=reactive_use_threads,
|
|
163
|
+
on_value=set_reactive_use_threads,
|
|
164
|
+
)
|
|
165
|
+
|
|
137
166
|
if not isinstance(simulator, Simulator):
|
|
138
167
|
ModelController(
|
|
139
168
|
model,
|
|
140
169
|
model_parameters=reactive_model_parameters,
|
|
141
170
|
play_interval=reactive_play_interval,
|
|
142
171
|
render_interval=reactive_render_interval,
|
|
172
|
+
use_threads=reactive_use_threads,
|
|
143
173
|
)
|
|
144
174
|
else:
|
|
145
175
|
SimulatorController(
|
|
@@ -148,6 +178,7 @@ def SolaraViz(
|
|
|
148
178
|
model_parameters=reactive_model_parameters,
|
|
149
179
|
play_interval=reactive_play_interval,
|
|
150
180
|
render_interval=reactive_render_interval,
|
|
181
|
+
use_threads=reactive_use_threads,
|
|
151
182
|
)
|
|
152
183
|
with solara.Card("Model Parameters"):
|
|
153
184
|
ModelCreator(
|
|
@@ -155,6 +186,13 @@ def SolaraViz(
|
|
|
155
186
|
)
|
|
156
187
|
with solara.Card("Information"):
|
|
157
188
|
ShowSteps(model.value)
|
|
189
|
+
if (
|
|
190
|
+
CommandConsole in components
|
|
191
|
+
): # If command console in components show it in sidebar
|
|
192
|
+
components.remove(CommandConsole)
|
|
193
|
+
additional_imports = console_kwargs.get("additional_imports", {})
|
|
194
|
+
with solara.Card("Command Console"):
|
|
195
|
+
CommandConsole(model.value, additional_imports=additional_imports)
|
|
158
196
|
|
|
159
197
|
ComponentsView(components, model.value)
|
|
160
198
|
|
|
@@ -209,6 +247,7 @@ def ModelController(
|
|
|
209
247
|
model_parameters: dict | solara.Reactive[dict] = None,
|
|
210
248
|
play_interval: int | solara.Reactive[int] = 100,
|
|
211
249
|
render_interval: int | solara.Reactive[int] = 1,
|
|
250
|
+
use_threads: bool | solara.Reactive[bool] = False,
|
|
212
251
|
):
|
|
213
252
|
"""Create controls for model execution (step, play, pause, reset).
|
|
214
253
|
|
|
@@ -217,37 +256,76 @@ def ModelController(
|
|
|
217
256
|
model_parameters: Reactive parameters for (re-)instantiating a model.
|
|
218
257
|
play_interval: Interval for playing the model steps in milliseconds.
|
|
219
258
|
render_interval: Controls how often the plots are updated during simulation steps.Higher value reduce update frequency.
|
|
259
|
+
use_threads: Flag for indicating whether to utilize multi-threading for model execution.
|
|
220
260
|
"""
|
|
221
261
|
playing = solara.use_reactive(False)
|
|
222
262
|
running = solara.use_reactive(True)
|
|
263
|
+
|
|
223
264
|
if model_parameters is None:
|
|
224
265
|
model_parameters = {}
|
|
225
266
|
model_parameters = solara.use_reactive(model_parameters)
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
267
|
+
visualization_pause_event = solara.use_memo(lambda: threading.Event(), [])
|
|
268
|
+
|
|
269
|
+
error_message = solara.use_reactive(None)
|
|
270
|
+
|
|
271
|
+
def step():
|
|
272
|
+
try:
|
|
273
|
+
while running.value and playing.value:
|
|
274
|
+
time.sleep(play_interval.value / 1000)
|
|
275
|
+
do_step()
|
|
276
|
+
if use_threads.value:
|
|
277
|
+
visualization_pause_event.set()
|
|
278
|
+
except Exception as e:
|
|
279
|
+
error_message.value = f"error in step: {e}"
|
|
280
|
+
traceback.print_exc()
|
|
281
|
+
return
|
|
282
|
+
|
|
283
|
+
def visualization_task():
|
|
284
|
+
if use_threads.value:
|
|
285
|
+
try:
|
|
286
|
+
while playing.value and running.value:
|
|
287
|
+
visualization_pause_event.wait()
|
|
288
|
+
visualization_pause_event.clear()
|
|
289
|
+
force_update()
|
|
290
|
+
|
|
291
|
+
except Exception as e:
|
|
292
|
+
error_message.value = f"error in visualization: {e}"
|
|
293
|
+
traceback.print_exc()
|
|
231
294
|
|
|
232
295
|
solara.lab.use_task(
|
|
233
|
-
step, dependencies=[playing.value, running.value], prefer_threaded=
|
|
296
|
+
step, dependencies=[playing.value, running.value], prefer_threaded=True
|
|
297
|
+
)
|
|
298
|
+
|
|
299
|
+
solara.use_thread(
|
|
300
|
+
visualization_task,
|
|
301
|
+
dependencies=[playing.value, running.value],
|
|
234
302
|
)
|
|
235
303
|
|
|
236
304
|
@function_logger(__name__)
|
|
237
305
|
def do_step():
|
|
238
306
|
"""Advance the model by the number of steps specified by the render_interval slider."""
|
|
239
|
-
|
|
240
|
-
|
|
307
|
+
if playing.value:
|
|
308
|
+
for _ in range(render_interval.value):
|
|
309
|
+
model.value.step()
|
|
310
|
+
running.value = model.value.running
|
|
311
|
+
if not playing.value:
|
|
312
|
+
break
|
|
313
|
+
if not use_threads.value:
|
|
314
|
+
force_update()
|
|
241
315
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
316
|
+
else:
|
|
317
|
+
for _ in range(render_interval.value):
|
|
318
|
+
model.value.step()
|
|
319
|
+
running.value = model.value.running
|
|
320
|
+
force_update()
|
|
245
321
|
|
|
246
322
|
@function_logger(__name__)
|
|
247
323
|
def do_reset():
|
|
248
324
|
"""Reset the model to its initial state."""
|
|
325
|
+
error_message.set(None)
|
|
249
326
|
playing.value = False
|
|
250
327
|
running.value = True
|
|
328
|
+
visualization_pause_event.clear()
|
|
251
329
|
_mesa_logger.log(
|
|
252
330
|
10,
|
|
253
331
|
f"creating new {model.value.__class__} instance with {model_parameters.value}",
|
|
@@ -274,6 +352,9 @@ def ModelController(
|
|
|
274
352
|
disabled=playing.value or not running.value,
|
|
275
353
|
)
|
|
276
354
|
|
|
355
|
+
if error_message.value:
|
|
356
|
+
solara.Error(label=error_message.value)
|
|
357
|
+
|
|
277
358
|
|
|
278
359
|
@solara.component
|
|
279
360
|
def SimulatorController(
|
|
@@ -283,6 +364,7 @@ def SimulatorController(
|
|
|
283
364
|
model_parameters: dict | solara.Reactive[dict] = None,
|
|
284
365
|
play_interval: int | solara.Reactive[int] = 100,
|
|
285
366
|
render_interval: int | solara.Reactive[int] = 1,
|
|
367
|
+
use_threads: bool | solara.Reactive[bool] = False,
|
|
286
368
|
):
|
|
287
369
|
"""Create controls for model execution (step, play, pause, reset).
|
|
288
370
|
|
|
@@ -292,6 +374,7 @@ def SimulatorController(
|
|
|
292
374
|
model_parameters: Reactive parameters for (re-)instantiating a model.
|
|
293
375
|
play_interval: Interval for playing the model steps in milliseconds.
|
|
294
376
|
render_interval: Controls how often the plots are updated during simulation steps.Higher values reduce update frequency.
|
|
377
|
+
use_threads: Flag for indicating whether to utilize multi-threading for model execution.
|
|
295
378
|
|
|
296
379
|
Notes:
|
|
297
380
|
The `step button` increments the step by the value specified in the `render_interval` slider.
|
|
@@ -302,27 +385,71 @@ def SimulatorController(
|
|
|
302
385
|
if model_parameters is None:
|
|
303
386
|
model_parameters = {}
|
|
304
387
|
model_parameters = solara.use_reactive(model_parameters)
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
388
|
+
visualization_pause_event = solara.use_memo(lambda: threading.Event(), [])
|
|
389
|
+
pause_step_event = solara.use_memo(lambda: threading.Event(), [])
|
|
390
|
+
|
|
391
|
+
error_message = solara.use_reactive(None)
|
|
392
|
+
|
|
393
|
+
def step():
|
|
394
|
+
try:
|
|
395
|
+
while running.value and playing.value:
|
|
396
|
+
time.sleep(play_interval.value / 1000)
|
|
397
|
+
if use_threads.value:
|
|
398
|
+
pause_step_event.wait()
|
|
399
|
+
pause_step_event.clear()
|
|
400
|
+
do_step()
|
|
401
|
+
if use_threads.value:
|
|
402
|
+
visualization_pause_event.set()
|
|
403
|
+
except Exception as e:
|
|
404
|
+
error_message.value = f"error in step: {e}"
|
|
405
|
+
traceback.print_exc()
|
|
406
|
+
|
|
407
|
+
def visualization_task():
|
|
408
|
+
if use_threads.value:
|
|
409
|
+
try:
|
|
410
|
+
loop = asyncio.new_event_loop()
|
|
411
|
+
asyncio.set_event_loop(loop)
|
|
412
|
+
pause_step_event.set()
|
|
413
|
+
while playing.value and running.value:
|
|
414
|
+
visualization_pause_event.wait()
|
|
415
|
+
visualization_pause_event.clear()
|
|
416
|
+
force_update()
|
|
417
|
+
pause_step_event.set()
|
|
418
|
+
except Exception as e:
|
|
419
|
+
error_message.value = f"error in visualization: {e}"
|
|
420
|
+
traceback.print_exc()
|
|
421
|
+
return
|
|
310
422
|
|
|
311
423
|
solara.lab.use_task(
|
|
312
424
|
step, dependencies=[playing.value, running.value], prefer_threaded=False
|
|
313
425
|
)
|
|
426
|
+
solara.lab.use_task(visualization_task, dependencies=[playing.value])
|
|
314
427
|
|
|
315
428
|
def do_step():
|
|
316
429
|
"""Advance the model by the number of steps specified by the render_interval slider."""
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
430
|
+
if playing.value:
|
|
431
|
+
for _ in range(render_interval.value):
|
|
432
|
+
simulator.run_for(1)
|
|
433
|
+
running.value = model.value.running
|
|
434
|
+
if not playing.value:
|
|
435
|
+
break
|
|
436
|
+
if not use_threads.value:
|
|
437
|
+
force_update()
|
|
438
|
+
|
|
439
|
+
else:
|
|
440
|
+
for _ in range(render_interval.value):
|
|
441
|
+
simulator.run_for(1)
|
|
442
|
+
running.value = model.value.running
|
|
443
|
+
force_update()
|
|
320
444
|
|
|
321
445
|
def do_reset():
|
|
322
446
|
"""Reset the model to its initial state."""
|
|
447
|
+
error_message.set(None)
|
|
323
448
|
playing.value = False
|
|
324
449
|
running.value = True
|
|
325
450
|
simulator.reset()
|
|
451
|
+
visualization_pause_event.clear()
|
|
452
|
+
pause_step_event.clear()
|
|
326
453
|
model.value = model.value = model.value.__class__(
|
|
327
454
|
simulator=simulator, **model_parameters.value
|
|
328
455
|
)
|
|
@@ -345,6 +472,8 @@ def SimulatorController(
|
|
|
345
472
|
on_click=do_step,
|
|
346
473
|
disabled=playing.value or not running.value,
|
|
347
474
|
)
|
|
475
|
+
if error_message.value:
|
|
476
|
+
solara.Error(label=error_message.value)
|
|
348
477
|
|
|
349
478
|
|
|
350
479
|
def split_model_params(model_params):
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Mesa
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.2.0
|
|
4
4
|
Summary: Agent-based modeling (ABM) in Python
|
|
5
5
|
Project-URL: homepage, https://github.com/projectmesa/mesa
|
|
6
6
|
Project-URL: repository, https://github.com/projectmesa/mesa
|
|
7
|
-
Author-email: Project Mesa Team <projectmesa
|
|
7
|
+
Author-email: Project Mesa Team <maintainers@projectmesa.dev>
|
|
8
8
|
License: Apache 2.0
|
|
9
9
|
License-File: LICENSE
|
|
10
10
|
License-File: NOTICE
|
|
@@ -87,12 +87,13 @@ Description-Content-Type: text/markdown
|
|
|
87
87
|
|
|
88
88
|
# Mesa: Agent-based modeling in Python
|
|
89
89
|
|
|
90
|
-
|
|
|
91
|
-
|
|
92
|
-
| CI/CD
|
|
90
|
+
| | |
|
|
91
|
+
|---------| --- |
|
|
92
|
+
| CI/CD | [](https://github.com/projectmesa/mesa/actions) [](https://codecov.io/gh/projectmesa/mesa) |
|
|
93
93
|
| Package | [](https://pypi.org/project/Mesa/) [](https://pypi.org/project/Mesa/) [](https://pypi.org/project/Mesa/) |
|
|
94
|
-
| Meta
|
|
95
|
-
| Chat
|
|
94
|
+
| Meta | [](https://github.com/astral-sh/ruff) [](https://github.com/psf/black) [](https://github.com/pypa/hatch) [](https://scientific-python.org/specs/spec-0000/) |
|
|
95
|
+
| Chat | [](https://matrix.to/#/#project-mesa:matrix.org) |
|
|
96
|
+
| Cite | [](https://doi.org/10.21105/joss.07668) |
|
|
96
97
|
|
|
97
98
|
Mesa allows users to quickly create agent-based models using built-in
|
|
98
99
|
core components (such as spatial grids and agent schedulers) or
|
|
@@ -220,4 +221,7 @@ Don't forget to checkout the [Contributors guide](https://github.com/projectmesa
|
|
|
220
221
|
|
|
221
222
|
## Citing Mesa
|
|
222
223
|
|
|
223
|
-
To cite Mesa in your publication, you can
|
|
224
|
+
To cite Mesa in your publication, you can refer to our peer-reviewed article in the Journal of Open Source Software (JOSS):
|
|
225
|
+
- ter Hoeven, E., Kwakkel, J., Hess, V., Pike, T., Wang, B., rht, & Kazil, J. (2025). Mesa 3: Agent-based modeling with Python in 2025. Journal of Open Source Software, 10(107), 7668. https://doi.org/10.21105/joss.07668
|
|
226
|
+
|
|
227
|
+
Our [CITATION.cff](https://github.com/projectmesa/mesa/blob/main/CITATION.cff) can be used to generate APA, BibTeX and other citation formats.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
mesa/__init__.py,sha256=9HiqFLLUwxZzkQCGvh20H3HSVBaJGB8CVC3-SHYMaEA,678
|
|
2
|
+
mesa/agent.py,sha256=7WOqjzlLh_Lkmp_-sFnUGbRD69AZpAharCINfIo66Ow,26684
|
|
3
|
+
mesa/batchrunner.py,sha256=ZeBOQw6-SLnECMUyKSRThh7vecP0DV6F6fGGk8UAboA,8041
|
|
4
|
+
mesa/datacollection.py,sha256=vxW0KEmx6BHMM6SnKrRJJr7Eb_siGLyofwuyN8pSWXg,18483
|
|
5
|
+
mesa/mesa_logging.py,sha256=PEDqUaQ2Y4bkYBkrHVkGT0sF86gUdbSH1T3vCg3qQeE,4949
|
|
6
|
+
mesa/model.py,sha256=8QZoE8Dy-S7MGznhoeHHT1S8VeUh-UbzcBroJqlXkRY,8365
|
|
7
|
+
mesa/space.py,sha256=g57TiwmMCRZLwDqgaHzQfSjF1wNE6oNi4rUjzeQ9E6g,63792
|
|
8
|
+
mesa/discrete_space/__init__.py,sha256=wXVr3eUpJAK-Y9DRlsQxhnQAxWLsrA7X6X9QhukDyTI,1672
|
|
9
|
+
mesa/discrete_space/cell.py,sha256=lok80RMnby09pxbJA631v14XmrfObwxfpw8EOkcwzao,7222
|
|
10
|
+
mesa/discrete_space/cell_agent.py,sha256=jSGP0xLVgdAx434piwQ9cQqUnPQSlFtJkiDibPWKXe0,4253
|
|
11
|
+
mesa/discrete_space/cell_collection.py,sha256=4yFImIijwCdFoHu3h6k8SEjn8yaSq5NGEEJsSMp-yR0,4698
|
|
12
|
+
mesa/discrete_space/discrete_space.py,sha256=6axHN04oX8OUKYrq2NbGPBeymiZKQXMDW2Fefa5w8pE,6555
|
|
13
|
+
mesa/discrete_space/grid.py,sha256=HEakDqB8mzS21PpCjcgUx2JBJTID5Ji82xmXLZ3wOr0,10408
|
|
14
|
+
mesa/discrete_space/network.py,sha256=Qa29Uj1bEuMrvN9xg0oizaCM-daALjWjqr2z4nPPqFY,2598
|
|
15
|
+
mesa/discrete_space/property_layer.py,sha256=8W6CsB-CtB5m1kncysS7hFG2Vf6lbCrSOsyJrVMDpYs,16755
|
|
16
|
+
mesa/discrete_space/voronoi.py,sha256=DtJPmHHRVccBc73U1QvUSUCdjN55SGOJ5FL-GjoELMk,10181
|
|
17
|
+
mesa/examples/README.md,sha256=yJumn3Go4nh1oZgTUlqFGMTRYAcTnIPp-jmLFK0Mlws,3261
|
|
18
|
+
mesa/examples/__init__.py,sha256=UGZF04lEg5NtEumSYKgaXxKdh5BA8ixFqW9pO0omMv0,940
|
|
19
|
+
mesa/examples/advanced/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
+
mesa/examples/advanced/alliance_formation/Readme.md,sha256=A0pNRDNleAYxFbcWVHf7n3R_qsdNCLmK6NOnDXzcUTc,3223
|
|
21
|
+
mesa/examples/advanced/alliance_formation/__init__ .py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
+
mesa/examples/advanced/alliance_formation/agents.py,sha256=EQubhQX8yjhSD1OYyL4t9CfoTQ-8fJ78HH3kIsLdOwk,463
|
|
23
|
+
mesa/examples/advanced/alliance_formation/app.py,sha256=3nv4zctmSmP2CLnjbXvXlSi-gsz7jPLmwh_VFEPmBdU,2047
|
|
24
|
+
mesa/examples/advanced/alliance_formation/model.py,sha256=iMfb84uIA9s8ilfZKRLZlaGNrWeaqY1qS_gnd0rNq_o,7029
|
|
25
|
+
mesa/examples/advanced/epstein_civil_violence/Epstein Civil Violence.ipynb,sha256=yh50ZAK2BVJyJIKsQTTxywnasqWn1IiQUVrwmZKue4w,29032
|
|
26
|
+
mesa/examples/advanced/epstein_civil_violence/Readme.md,sha256=RXuGIZAibz3KVkP51PGjwzcRx2R9Ettmh3qbDTPqDcg,1735
|
|
27
|
+
mesa/examples/advanced/epstein_civil_violence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
+
mesa/examples/advanced/epstein_civil_violence/agents.py,sha256=SMYKkKhNlMCXk-gmeakesxstqB-jpY44FtS8CiMl0l8,5854
|
|
29
|
+
mesa/examples/advanced/epstein_civil_violence/app.py,sha256=fFlPijAUDLs_WfROGIlUXRakkkfbWnytcXFTAzdRplU,1890
|
|
30
|
+
mesa/examples/advanced/epstein_civil_violence/model.py,sha256=_ds6Wrq2Zf66VSxamTN5gK8A3itHU5DEVcydA--hlkY,3909
|
|
31
|
+
mesa/examples/advanced/pd_grid/Readme.md,sha256=weEQe1qZBKUYBj3J3WyGbRHa5Ia1zje18SFctZm3esE,2242
|
|
32
|
+
mesa/examples/advanced/pd_grid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
+
mesa/examples/advanced/pd_grid/agents.py,sha256=giX63EUq3TzJt916dglTSMsdzkIdtyOmwSoj2ynUQ2c,1743
|
|
34
|
+
mesa/examples/advanced/pd_grid/analysis.ipynb,sha256=TTSY7mZlIYPjPjpW7cxr7Gzpo-NKKEBpXX4_f0V6NfI,5432
|
|
35
|
+
mesa/examples/advanced/pd_grid/app.py,sha256=-_fTP7f_oITKHt7dDVJou7Oa7u7v_C4Ml5yw7D1sbx8,1457
|
|
36
|
+
mesa/examples/advanced/pd_grid/model.py,sha256=2YrTVNVThIf0FH1vKbYef0IYeJiR8Ws6eepsH6UjMLQ,2282
|
|
37
|
+
mesa/examples/advanced/sugarscape_g1mt/Readme.md,sha256=_q52DMprCQGELsPCJ_jAJ6cFHBc8sE7L8WIa4a3LQPs,3535
|
|
38
|
+
mesa/examples/advanced/sugarscape_g1mt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
|
+
mesa/examples/advanced/sugarscape_g1mt/agents.py,sha256=foix7_00fFop6GLl5uEu1_bmeQ5oH04Fcc9-E06WWkk,8457
|
|
40
|
+
mesa/examples/advanced/sugarscape_g1mt/app.py,sha256=fg8ZXBoc4tPI9AfOLF0fgMk3Ey4H8xZu6tUaTwDp3Nk,1952
|
|
41
|
+
mesa/examples/advanced/sugarscape_g1mt/model.py,sha256=VwHaLuqrX8g6XP3wHw16Opu5vaW-kyL31pe7Mja-HvQ,5745
|
|
42
|
+
mesa/examples/advanced/sugarscape_g1mt/sugar-map.txt,sha256=zZtGYciBPT4miZVnbVuoQ5TugTmGrbDWV9yb5KH6tnU,5000
|
|
43
|
+
mesa/examples/advanced/sugarscape_g1mt/tests.py,sha256=UNahmZTgLquSqmoi_9GcE3JP0qBHjkrHFZ15NMm0ce8,2517
|
|
44
|
+
mesa/examples/advanced/wolf_sheep/Readme.md,sha256=oLJSJ1o7WnExDWts8CRKyxVOMeCcp8rGZzvjufpnKZc,2736
|
|
45
|
+
mesa/examples/advanced/wolf_sheep/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
|
+
mesa/examples/advanced/wolf_sheep/agents.py,sha256=kqW8ITdFHtkMqF5auHoP0dHUbXk-rSMt4XI340NZ5Qg,5081
|
|
47
|
+
mesa/examples/advanced/wolf_sheep/app.py,sha256=MEoQzjSvXJC0ua_4okUZOucL0UnBfWRZ42ij4iQVMp4,2544
|
|
48
|
+
mesa/examples/advanced/wolf_sheep/model.py,sha256=mHmn5r9EdRtoOGSbubcKtlSBClKmjDIri8uhcokIeBE,4558
|
|
49
|
+
mesa/examples/basic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
|
+
mesa/examples/basic/boid_flockers/Readme.md,sha256=z4p0KZmVpH0JK2M-xnAZM7LSoRdjjR7qGe1OPOq2BzQ,873
|
|
51
|
+
mesa/examples/basic/boid_flockers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
|
+
mesa/examples/basic/boid_flockers/agents.py,sha256=oA0A0NilTHi0XYouYaNcMSmpKDdNYPwfS96FNqRuTUI,3309
|
|
53
|
+
mesa/examples/basic/boid_flockers/app.py,sha256=9Cf6f2Ctjz0yWYQHCKE2owBOmnIuXqkVkLIJz6hqGCc,1861
|
|
54
|
+
mesa/examples/basic/boid_flockers/model.py,sha256=RQh9GfsSPvshUQedlmEEjk1dJHuyL8o4VWiAamgH1EU,3551
|
|
55
|
+
mesa/examples/basic/boltzmann_wealth_model/Readme.md,sha256=tif1-GDqTGkSAYAYgMf3D3nxT3kYeZ3gCLPvuivQxsI,1956
|
|
56
|
+
mesa/examples/basic/boltzmann_wealth_model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
|
+
mesa/examples/basic/boltzmann_wealth_model/agents.py,sha256=GF4mNEjqLS4Vg4vtdeDAetby_t69J-LcFhtQIMOBDNU,1330
|
|
58
|
+
mesa/examples/basic/boltzmann_wealth_model/app.py,sha256=GwyNQvwu0S5l7ASRTF70xE9ozjhtT1xAetWGlQmNtDk,2231
|
|
59
|
+
mesa/examples/basic/boltzmann_wealth_model/model.py,sha256=9d-x5Y2T49R4Pt1u7lY63Z0y8impZ2f47_ahrxohvaY,2828
|
|
60
|
+
mesa/examples/basic/boltzmann_wealth_model/st_app.py,sha256=PQ65LkYPXn-lx4lCfXuFJmzcmAfVB3oEEdIyuq9a7iU,3454
|
|
61
|
+
mesa/examples/basic/conways_game_of_life/Readme.md,sha256=SylexP0Owrq1n_v5mJJyqs3wFeKtOMB0pLh0oLDOcV8,1256
|
|
62
|
+
mesa/examples/basic/conways_game_of_life/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
|
+
mesa/examples/basic/conways_game_of_life/agents.py,sha256=pByQeucyW5UDBnl90xbRGJJNJHpM8NLuqSmft5AkVN0,1766
|
|
64
|
+
mesa/examples/basic/conways_game_of_life/app.py,sha256=HPzss2X3ntTOgdmg0C0EWw3lmAF7WiN9MZEgGdLW-xU,1997
|
|
65
|
+
mesa/examples/basic/conways_game_of_life/model.py,sha256=GGHg8Qni1R4RGQrfvJcsqG6btNTuQhCWOwS_9crU6tc,1269
|
|
66
|
+
mesa/examples/basic/conways_game_of_life/st_app.py,sha256=9qz3o0pOuvLZR-_aPPVHN-RIwFSNzvwWWfxCaD2K5cs,2402
|
|
67
|
+
mesa/examples/basic/schelling/Readme.md,sha256=LB1O3unI0a4fr2cOl3umnjeqozMfXQEVBsB45GoK1u8,1877
|
|
68
|
+
mesa/examples/basic/schelling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
|
+
mesa/examples/basic/schelling/agents.py,sha256=jyMzafsAhOTYOfl3rZgasYLhxW3YEHv3oOIh9Re3LmU,1517
|
|
70
|
+
mesa/examples/basic/schelling/analysis.ipynb,sha256=UMDoumvBFhZilwJhxl5Mou2bmDDqxguK5RdnoY2gkNc,5910
|
|
71
|
+
mesa/examples/basic/schelling/app.py,sha256=eqgqCu6_6jk1RrmT82e_AoEDMvy8eZ0OJnnlITpiBXQ,1067
|
|
72
|
+
mesa/examples/basic/schelling/model.py,sha256=dUfQ4bG-nqvYPSUcLNSI7LOTfs8IxTbVi_Clj8y2rS8,2712
|
|
73
|
+
mesa/examples/basic/virus_on_network/Readme.md,sha256=h3yGmF9Jl7rCuRGnXJoPqxQPs9Nr-KCMIGs3l8JYQG8,2197
|
|
74
|
+
mesa/examples/basic/virus_on_network/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
|
+
mesa/examples/basic/virus_on_network/agents.py,sha256=yVPZCiKI53qXlsUus3vdNZ39IG0cLoY2wQXeYZHiahs,1814
|
|
76
|
+
mesa/examples/basic/virus_on_network/app.py,sha256=8I8VWQ7pBcOaNGyLDEO4IbNSTRy161-eWg-iEUVQ3-I,2553
|
|
77
|
+
mesa/examples/basic/virus_on_network/model.py,sha256=sljdQlTPeUCbmWSxnCJJv706lN3uVMF8pS1gAMNHreM,2543
|
|
78
|
+
mesa/experimental/__init__.py,sha256=9q6lv_NDYoWuKBzBzMdbisdxvzA-T5L6xT8quSArNT4,945
|
|
79
|
+
mesa/experimental/cell_space/__init__.py,sha256=IOXd0RcJP34kaHvEHv_AeN7PGpvoYPpaZYsx3Mz8dNo,1872
|
|
80
|
+
mesa/experimental/continuous_space/__init__.py,sha256=JkCkL4zZpe8c0GHqw4huM2-uoGOYqrCyt7J1M454kFA,269
|
|
81
|
+
mesa/experimental/continuous_space/continuous_space.py,sha256=UcD-nsi5oEAJzf8ZI7BU26FYn6DdJzsW-dgXqaZIrQk,9530
|
|
82
|
+
mesa/experimental/continuous_space/continuous_space_agents.py,sha256=859ypIiWMgjknTsER0i8Y6aCWjMpw6MC5cfoKa6l_iA,3044
|
|
83
|
+
mesa/experimental/devs/__init__.py,sha256=wkDrpqQ3qHGqrsOSTD-UOj-qOw0oFgnCw_ZXr9xFs90,1200
|
|
84
|
+
mesa/experimental/devs/eventlist.py,sha256=6igPkHJt-syLcdpFV14_n6HGej2F1cM9giDQo85fHPw,7217
|
|
85
|
+
mesa/experimental/devs/simulator.py,sha256=UiVRIlNodSIveD2mS_8-vj0T_FulU8vhXxSxCfsK1Vc,12991
|
|
86
|
+
mesa/experimental/mesa_signals/__init__.py,sha256=QjG4FSKQl5ZSzV9ctiaB7UqYDR3FARAyUc7HbGtQjX4,840
|
|
87
|
+
mesa/experimental/mesa_signals/mesa_signal.py,sha256=Vxo4gIV6a959MANL3RMANsGh0R9lkZTNO19XIYzvKSM,16860
|
|
88
|
+
mesa/experimental/mesa_signals/observable_collections.py,sha256=rHEj6BYxLHFFGzSdoDKAdtzJ6y-IHHfcP3qEDJJsY6Y,3917
|
|
89
|
+
mesa/experimental/mesa_signals/signals_util.py,sha256=fmq_FsIxsIvGjtmc4A9TGdBUtdliMHhEOpjRXivRDjA,1618
|
|
90
|
+
mesa/experimental/meta_agents/__init__.py,sha256=UpX_1WpmXtg4iKdPTcPVViCt1H9fRydA-l3a6i4KR1w,949
|
|
91
|
+
mesa/experimental/meta_agents/meta_agent.py,sha256=v9a09hU3kgKQdgjk5v5DDOaRCqEh_A8Xhzu9V185kZU,14801
|
|
92
|
+
mesa/visualization/__init__.py,sha256=h7YZnBUNrgiK5KbIikPIdQgn6KusmgiDh7tMql8Q39Y,730
|
|
93
|
+
mesa/visualization/command_console.py,sha256=-sVNYdXxmc5diQyqfFHUByzVSOpP3eoPcdLL2J6gwD4,17086
|
|
94
|
+
mesa/visualization/mpl_space_drawing.py,sha256=axIaq7MTaYIb_-ME2z5TbXufREl9jgFLebZSredyfwA,22956
|
|
95
|
+
mesa/visualization/solara_viz.py,sha256=coG5o0A5iCOBIqzsrlUG_S2rYrTcOYubESzj4zcW-ro,26274
|
|
96
|
+
mesa/visualization/user_param.py,sha256=Dl2WOwLYLf0pfLpabCZtIdFRyKZrK6Qtc3utZx5GPYg,2139
|
|
97
|
+
mesa/visualization/utils.py,sha256=lJHgRKF5BHLf72Tw3YpwyiWuRoIimaTKQ7xBCw_Rx3A,146
|
|
98
|
+
mesa/visualization/components/__init__.py,sha256=Bq3nrPikcaIo9BSs0O3zptWVLlUmAkLo3s0mEmpH1RE,3022
|
|
99
|
+
mesa/visualization/components/altair_components.py,sha256=cSce9_QNaJ5EF6sZ8tu2cZ4NIczocKfjdRCxiC8w0fY,16164
|
|
100
|
+
mesa/visualization/components/matplotlib_components.py,sha256=xQETaFyHIfmL_9JwrLIgubuIQ7-pp7TMoXT1WMmozus,5441
|
|
101
|
+
mesa-3.2.0.dist-info/METADATA,sha256=cpk4OAHWsBqmvJeeHOPy5W1-hy3PqmcE8khaU5af4EA,10700
|
|
102
|
+
mesa-3.2.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
103
|
+
mesa-3.2.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
104
|
+
mesa-3.2.0.dist-info/licenses/NOTICE,sha256=GbsWoK0QWv1JyZ_xer2s-jNilv0RtWl-0UrtlJANHPg,578
|
|
105
|
+
mesa-3.2.0.dist-info/RECORD,,
|
mesa-3.1.5.dist-info/RECORD
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
mesa/__init__.py,sha256=GhG2LX8PxjjqywkipcK1yI9TMrGbX9CYuyNMGeaLT28,611
|
|
2
|
-
mesa/agent.py,sha256=4CXMOFA9KhvTypaV_OHZGqxOR4GVwyX4x8DOtQENUQA,26130
|
|
3
|
-
mesa/batchrunner.py,sha256=ZeBOQw6-SLnECMUyKSRThh7vecP0DV6F6fGGk8UAboA,8041
|
|
4
|
-
mesa/datacollection.py,sha256=vxW0KEmx6BHMM6SnKrRJJr7Eb_siGLyofwuyN8pSWXg,18483
|
|
5
|
-
mesa/mesa_logging.py,sha256=PEDqUaQ2Y4bkYBkrHVkGT0sF86gUdbSH1T3vCg3qQeE,4949
|
|
6
|
-
mesa/model.py,sha256=VkdBea_mkWcBMxMq-pwuU23UlI1gbG4TOIyqkBfeiFo,8354
|
|
7
|
-
mesa/space.py,sha256=MNCblKf862pdkoIAa-VpjaurmI8GJtb02W3q3QWFjTE,64458
|
|
8
|
-
mesa/examples/README.md,sha256=TSVX0wD5C2iNAWW8OE0gl3SBZqxooJopmGKTk-7Fj2k,3262
|
|
9
|
-
mesa/examples/__init__.py,sha256=pyPWFRUxyYtQilJECbH7LY1eYBk8VB0Yg-_SbFEEvFA,825
|
|
10
|
-
mesa/examples/advanced/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
mesa/examples/advanced/epstein_civil_violence/Epstein Civil Violence.ipynb,sha256=yh50ZAK2BVJyJIKsQTTxywnasqWn1IiQUVrwmZKue4w,29032
|
|
12
|
-
mesa/examples/advanced/epstein_civil_violence/Readme.md,sha256=RXuGIZAibz3KVkP51PGjwzcRx2R9Ettmh3qbDTPqDcg,1735
|
|
13
|
-
mesa/examples/advanced/epstein_civil_violence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
mesa/examples/advanced/epstein_civil_violence/agents.py,sha256=0X4JLj2K2cl1bACkFLI6-K6tKbr2SLZlAy_kjgUDjzA,5863
|
|
15
|
-
mesa/examples/advanced/epstein_civil_violence/app.py,sha256=fFlPijAUDLs_WfROGIlUXRakkkfbWnytcXFTAzdRplU,1890
|
|
16
|
-
mesa/examples/advanced/epstein_civil_violence/model.py,sha256=fcTkjCRhEhDerDC1W_lrezdoWD1y5xIublkGIhCak8w,3918
|
|
17
|
-
mesa/examples/advanced/pd_grid/Readme.md,sha256=UVUQxZRFdfymCKDdQEn3ZEwgSqgp9cKJPsU8oZpLFnY,2367
|
|
18
|
-
mesa/examples/advanced/pd_grid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
-
mesa/examples/advanced/pd_grid/agents.py,sha256=8JnezmnwxjcqAUAgXa1iWls0Nz4yBS-TJi1TSVcHbqM,1752
|
|
20
|
-
mesa/examples/advanced/pd_grid/analysis.ipynb,sha256=TTSY7mZlIYPjPjpW7cxr7Gzpo-NKKEBpXX4_f0V6NfI,5432
|
|
21
|
-
mesa/examples/advanced/pd_grid/app.py,sha256=-_fTP7f_oITKHt7dDVJou7Oa7u7v_C4Ml5yw7D1sbx8,1457
|
|
22
|
-
mesa/examples/advanced/pd_grid/model.py,sha256=-ytTSW0a_TQGTQW02k7XKAMiMak_b2XkJUw5kkGNHMQ,2291
|
|
23
|
-
mesa/examples/advanced/sugarscape_g1mt/Readme.md,sha256=x3kKw1Rre2FPkNhGDLtdzeThmH089mxsGYUPZUeu26k,3595
|
|
24
|
-
mesa/examples/advanced/sugarscape_g1mt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
-
mesa/examples/advanced/sugarscape_g1mt/agents.py,sha256=ugTNvWjQNm_jMInv9d0sOIFaChIDs-TWazN78YrDP9g,8466
|
|
26
|
-
mesa/examples/advanced/sugarscape_g1mt/app.py,sha256=fg8ZXBoc4tPI9AfOLF0fgMk3Ey4H8xZu6tUaTwDp3Nk,1952
|
|
27
|
-
mesa/examples/advanced/sugarscape_g1mt/model.py,sha256=s4n9SRaaMNY9CXFtry83BELZU69UJOCa4DMrw_eehr4,5763
|
|
28
|
-
mesa/examples/advanced/sugarscape_g1mt/sugar-map.txt,sha256=zZtGYciBPT4miZVnbVuoQ5TugTmGrbDWV9yb5KH6tnU,5000
|
|
29
|
-
mesa/examples/advanced/sugarscape_g1mt/tests.py,sha256=UNahmZTgLquSqmoi_9GcE3JP0qBHjkrHFZ15NMm0ce8,2517
|
|
30
|
-
mesa/examples/advanced/wolf_sheep/Readme.md,sha256=6zrtCg4Fb-hgQxqdLMpTkIYMwD6owCv8BMz_qn0N98Q,3165
|
|
31
|
-
mesa/examples/advanced/wolf_sheep/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
-
mesa/examples/advanced/wolf_sheep/agents.py,sha256=lxk9nxDaIGxB7zJ0pIOF2PfOAee8lX-vG447Cklt7UQ,5090
|
|
33
|
-
mesa/examples/advanced/wolf_sheep/app.py,sha256=IIl-gDh1O3oYIvrXXGmKHbW5Iw3ZpCn691dGwKgyI3E,2508
|
|
34
|
-
mesa/examples/advanced/wolf_sheep/model.py,sha256=IUN1STm6jCGuzXo2sCF86r1U-dI63yhLhnI14tu9BSw,4567
|
|
35
|
-
mesa/examples/basic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
-
mesa/examples/basic/boid_flockers/Readme.md,sha256=4KJinsLPtUciQSMzvaX3tU5r1HTUg3AFOFDKy73W5RE,894
|
|
37
|
-
mesa/examples/basic/boid_flockers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
-
mesa/examples/basic/boid_flockers/agents.py,sha256=f9IpVMpuo6WPtMffLOqgKsxoG4syJt8-k9Njvh4fMN8,3232
|
|
39
|
-
mesa/examples/basic/boid_flockers/app.py,sha256=5y52V_PRENzNGkmV_-KB5ZQeUN589i1ntJW-AIgZD0s,1323
|
|
40
|
-
mesa/examples/basic/boid_flockers/model.py,sha256=hgYScacUAv6Yq240al41r9Iv3Iqbn4wfFVQEHyorJ3c,2981
|
|
41
|
-
mesa/examples/basic/boltzmann_wealth_model/Readme.md,sha256=wl1ylO9KWoTiuIJKOnk2FGdcmyVUqJ5wiSbVUa3WWAc,2725
|
|
42
|
-
mesa/examples/basic/boltzmann_wealth_model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
|
-
mesa/examples/basic/boltzmann_wealth_model/agents.py,sha256=Jol2aspw--UtQn0EiReXVmlWtzpdC2o_YUTAyu1sDk4,1546
|
|
44
|
-
mesa/examples/basic/boltzmann_wealth_model/app.py,sha256=wTQBu9A3uscTZSPqZ5jYssykGPiseye2YBjMngYI48A,2233
|
|
45
|
-
mesa/examples/basic/boltzmann_wealth_model/model.py,sha256=ED4EFHJlrrcF12WYOEpXpPt5asK2T6uzpq_S97EtfHo,2941
|
|
46
|
-
mesa/examples/basic/boltzmann_wealth_model/st_app.py,sha256=PQ65LkYPXn-lx4lCfXuFJmzcmAfVB3oEEdIyuq9a7iU,3454
|
|
47
|
-
mesa/examples/basic/conways_game_of_life/Readme.md,sha256=VRgN6roF6leQ_IMYwxFypSfFjZo9jnCd-rkPTjpp7II,1453
|
|
48
|
-
mesa/examples/basic/conways_game_of_life/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
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=HPzss2X3ntTOgdmg0C0EWw3lmAF7WiN9MZEgGdLW-xU,1997
|
|
51
|
-
mesa/examples/basic/conways_game_of_life/model.py,sha256=8L88m8F_YauwWeDef6UA2myQoAwC0B5sH5jsfyLn-u8,1221
|
|
52
|
-
mesa/examples/basic/conways_game_of_life/st_app.py,sha256=9qz3o0pOuvLZR-_aPPVHN-RIwFSNzvwWWfxCaD2K5cs,2402
|
|
53
|
-
mesa/examples/basic/schelling/Readme.md,sha256=CRKBfYtnLJLlTKLsTRQ-7gsQRxVxDooOBN5uP8PEtaU,2296
|
|
54
|
-
mesa/examples/basic/schelling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
|
-
mesa/examples/basic/schelling/agents.py,sha256=WdDM-BYeOUuIL_2U5rlZz4Rs_5orstHY2Z6G6zvQEyg,1224
|
|
56
|
-
mesa/examples/basic/schelling/analysis.ipynb,sha256=UMDoumvBFhZilwJhxl5Mou2bmDDqxguK5RdnoY2gkNc,5910
|
|
57
|
-
mesa/examples/basic/schelling/app.py,sha256=eqgqCu6_6jk1RrmT82e_AoEDMvy8eZ0OJnnlITpiBXQ,1067
|
|
58
|
-
mesa/examples/basic/schelling/model.py,sha256=ZNTK42pJnIJfsnqaI0ZXFxw9xtWPXkUMIemMr4uXmW8,2766
|
|
59
|
-
mesa/examples/basic/virus_on_network/Readme.md,sha256=qmXGx4Fo0tRBvJiiJ684bkWJPn2gcFaiikLwgc5APWI,2336
|
|
60
|
-
mesa/examples/basic/virus_on_network/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
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=8I8VWQ7pBcOaNGyLDEO4IbNSTRy161-eWg-iEUVQ3-I,2553
|
|
63
|
-
mesa/examples/basic/virus_on_network/model.py,sha256=jQoCmvygwCvhUrlL0l7V8GcDLv94CgwtuK7DDGU8q8g,2813
|
|
64
|
-
mesa/experimental/__init__.py,sha256=hSGXGvsVANvqhgA994HcLBLIRC2WhSF3e_w2gvoCMUo,943
|
|
65
|
-
mesa/experimental/cell_space/__init__.py,sha256=0A3YTen0Lk-e3Q73VEXK7N2UEHb9f50gW11H_jx7DXc,1744
|
|
66
|
-
mesa/experimental/cell_space/cell.py,sha256=Dl0ek7W_vgAZOp6zXBvkwYTG7E36OQ-4zZ5bW43mKtw,6600
|
|
67
|
-
mesa/experimental/cell_space/cell_agent.py,sha256=LOTLKR2To9hU-igKsauA5sikS7k8wgwlt-Pi0C7lGU0,4262
|
|
68
|
-
mesa/experimental/cell_space/cell_collection.py,sha256=VnD3I4bqnwgFxKSzTElYYJIBFJGdaEaNTggrbFKgPrc,4715
|
|
69
|
-
mesa/experimental/cell_space/discrete_space.py,sha256=qNGez9SV4E83Outs_12suuS0ZtTHcwyv6ZB1xzTXUWk,3846
|
|
70
|
-
mesa/experimental/cell_space/grid.py,sha256=VTPjqzryAX6I9EunuqSvZvYD2zHznlt6Ct7HXQ_7STQ,10426
|
|
71
|
-
mesa/experimental/cell_space/network.py,sha256=ujN2dV1i9hcXh6H0s7gwTuPT6gh7BCaziOUYPCybQKk,1862
|
|
72
|
-
mesa/experimental/cell_space/property_layer.py,sha256=HFpBWOjI7PFU_K8VDb_pl9h62MftCBWL7PUKQNT3Ke8,17379
|
|
73
|
-
mesa/experimental/cell_space/voronoi.py,sha256=FXJD8ci81Jil3FaL7ZFNfMPGvXvg3uym5Ooo1ZqKSKs,10199
|
|
74
|
-
mesa/experimental/continuous_space/__init__.py,sha256=JkCkL4zZpe8c0GHqw4huM2-uoGOYqrCyt7J1M454kFA,269
|
|
75
|
-
mesa/experimental/continuous_space/continuous_space.py,sha256=UcD-nsi5oEAJzf8ZI7BU26FYn6DdJzsW-dgXqaZIrQk,9530
|
|
76
|
-
mesa/experimental/continuous_space/continuous_space_agents.py,sha256=859ypIiWMgjknTsER0i8Y6aCWjMpw6MC5cfoKa6l_iA,3044
|
|
77
|
-
mesa/experimental/devs/__init__.py,sha256=wkDrpqQ3qHGqrsOSTD-UOj-qOw0oFgnCw_ZXr9xFs90,1200
|
|
78
|
-
mesa/experimental/devs/eventlist.py,sha256=6igPkHJt-syLcdpFV14_n6HGej2F1cM9giDQo85fHPw,7217
|
|
79
|
-
mesa/experimental/devs/simulator.py,sha256=UiVRIlNodSIveD2mS_8-vj0T_FulU8vhXxSxCfsK1Vc,12991
|
|
80
|
-
mesa/experimental/mesa_signals/__init__.py,sha256=QjG4FSKQl5ZSzV9ctiaB7UqYDR3FARAyUc7HbGtQjX4,840
|
|
81
|
-
mesa/experimental/mesa_signals/mesa_signal.py,sha256=Vxo4gIV6a959MANL3RMANsGh0R9lkZTNO19XIYzvKSM,16860
|
|
82
|
-
mesa/experimental/mesa_signals/observable_collections.py,sha256=rHEj6BYxLHFFGzSdoDKAdtzJ6y-IHHfcP3qEDJJsY6Y,3917
|
|
83
|
-
mesa/experimental/mesa_signals/signals_util.py,sha256=fmq_FsIxsIvGjtmc4A9TGdBUtdliMHhEOpjRXivRDjA,1618
|
|
84
|
-
mesa/visualization/__init__.py,sha256=wnafHqOc7q-niu8HDOLwcmwuYu5BuvdjLTHmfpyXAoA,664
|
|
85
|
-
mesa/visualization/mpl_space_drawing.py,sha256=9byWxbKHVVT5GLmu-6U0qVFddThEag612JBGYmZiWps,22686
|
|
86
|
-
mesa/visualization/solara_viz.py,sha256=AoMVDdjMc99qCClAvsFXg-jBNPaDF5kfIhXa5Hd57MA,21052
|
|
87
|
-
mesa/visualization/user_param.py,sha256=Dl2WOwLYLf0pfLpabCZtIdFRyKZrK6Qtc3utZx5GPYg,2139
|
|
88
|
-
mesa/visualization/utils.py,sha256=lJHgRKF5BHLf72Tw3YpwyiWuRoIimaTKQ7xBCw_Rx3A,146
|
|
89
|
-
mesa/visualization/components/__init__.py,sha256=Bq3nrPikcaIo9BSs0O3zptWVLlUmAkLo3s0mEmpH1RE,3022
|
|
90
|
-
mesa/visualization/components/altair_components.py,sha256=7OdVdZOvAx4p3j6iux6FqUYrWT0OADBIhFGf6EeGcb4,6071
|
|
91
|
-
mesa/visualization/components/matplotlib_components.py,sha256=xQETaFyHIfmL_9JwrLIgubuIQ7-pp7TMoXT1WMmozus,5441
|
|
92
|
-
mesa-3.1.5.dist-info/METADATA,sha256=53ulsosj9Q4C7l43NSV8ZLN_Y9a7KGCFTPM_ayHcYTA,10197
|
|
93
|
-
mesa-3.1.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
94
|
-
mesa-3.1.5.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
95
|
-
mesa-3.1.5.dist-info/licenses/NOTICE,sha256=GbsWoK0QWv1JyZ_xer2s-jNilv0RtWl-0UrtlJANHPg,578
|
|
96
|
-
mesa-3.1.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|