Mesa Versions Save

Mesa is an open-source Python library for agent-based modeling, ideal for simulating complex systems and exploring emergent behaviors.

v2.1.2

7 months ago

This release contains fixes, and several improvements and new features to the JupyterViz/Solara frontend. It's a patch release instead of a minor release because the JupyterViz frontend is still considered experimental.

Improvements

  • perf: Access grid only once #1751
  • docs: compile notebooks at build time #1753
  • docs: Remove nbsphinx and explicit .ipynb suffix #1754
  • rtd: Use gruvbox-dark as style #1719
  • build(deps): bump actions/checkout from 3 to 4 #1790

Solara/JupyterViz

  • solara: Implement visualization for network grid #1767
  • Add support for select input type #1779
  • Add step count display to JupyterViz #1775
  • Simplify solara code #1786
  • Add docstring for jupyterviz make_user_input that documents supported inputs #1784
  • Revise, test, & document JupyterViz options for drawing agent space #1783
  • Add UserInputs component #1788
  • Fix: Remove dict merge operator, python 3.8 compat #1793
  • feat: Add reset button to JupyterViz #1795
  • Add support for solara.Checkbox user input #1798
  • viz tutorial: Update custom plot to reflect new code #1799
  • fix: Don't continue playing when a model is reset #1796
  • Docker: Update to use Solara viz #1757

Refactors

  • Move viz stuff to mesa-viz-tornado Git repo #1746
  • simplify get neighborhood #1760
  • remove attrgetter performance optimization #1809

Fixes

  • fix: Add Matplotlib as dependency #1747
  • fix install for visualization tutorial in colab #1752
  • fix: Allow multiple connections in Solara #1759
  • Revert "Ensure sphinx>=7" #1762
  • fix README pic to remove line on left side #1763
  • space: Ensure get_neighborhood output & cache are immutable #1780
  • fix: Use .pytemplate for name for cookiecutter #1785
  • HISTORY.rst: Correct neighbor_iter() replacement in 2.0.0 #1807
  • docs: Always link to stable version #1810
  • Remove exclude_none_values #1813

v2.1.1

9 months ago

This release improves the introductory and visualization tutorial. Ensures both are Google Colab compatible with working badges.

Changes:

  • Update intro_tutorial to warn users to ensure up to date version, and make colab compatible #1739, #1744
  • Improve new/experimental Solara based visualization to ensure pause button works #1745
  • Fix bug in space.py -> get_heading() #1739

v2.1.0

9 months ago

This release creates mesa.experimental namespace, this solves the issue that PyPI release will not allow git-based install.

Users should read the Mesa 2.0.0 release note, as this contains the details about the breaking changes and other major changes that were part of Mesa 2.0 release.

The mesa.experimental currently consists of JupyterViz, a new visualization framework that can run on a Jupyter notebook as well as standalone.

Changes:

  • Creates mesa.experimental namespace #1736
  • Fix Ruff lint error #1737
  • Update permissions for PyPI #1732

v2.0.0

10 months ago

Special notes

Mesa 2.0 includes: * an experimental pure python user interface/ visualization that is also jupyter compatible please see the visualization tutorial_ * several breaking changes that provide significant improvements to Mesa.

.. _visualization tutorial: https://mesa.readthedocs.io/en/latest/tutorials/visualization_tutorial.html Breaking Changes:

  • space: change coord_iter to return (content,(x,y)) instead of (content, x,y); this reduces known errors of scheduler to grid mismatch #1566, #1723
  • space: change NetworkGrid get_neighbors to get_neighborhood; improves performance #1542
  • space: raise exception when pos is out of bounds in Grid.get_neighborhood #1524
  • space: remove deprecations (#1520, #1687, #1688):
    • find_empty(): convert this to move_to_empty()
    • num_agents: removed parameter from move_to_empty()
    • position_agent(): convert this to place_agent
    • neighbor_iter(): convert this to iter_neighborhood()
  • batchrunner: remove deprecations #1627
    • class BatchRunner and class BatchRunnerMP: convert these to batch_run()
    • Please see this batch_run() example_ if you would like to see an an implementation.
  • visualization: easier visualization creation #1693
    • UserSettableParameter(['number', 'slider','checkbox', 'choice', 'StaticText']): convert to NumberInput , Slider, CheckBox, Choice, StaticText
    • Please see this visualization example_ if you would like to see an implementation.

.. _batch_run() example: https://github.com/projectmesa/mesa-examples/blob/db2ec0383eb3b1868e91c828101e84cce97bbb63/examples/bank_reserves/batch_run.py#L188-L221 .. _visualization example: https://github.com/projectmesa/mesa-examples/blob/db2ec0383eb3b1868e91c828101e84cce97bbb63/examples/boltzmann_wealth_model/boltzmann_wealth_model/server.py#L25-L32.)

New Features:

  • datacollector: can now handle data collection by agent type #1419, #1702
  • time: allows for model level StageActivation #1709
  • visualization: ChartModule can have dynamically named properties #1685
  • visualization: improved stop server to end visualizations #1646
  • experimental python front end option: integrated the initial prototype of the pure python front end option #1698, #1726

Improvements

  • update HexGrid and create HexSingleGrid and HexMultiGrid #1581
  • correct get_heading for toroidal space #1686
  • update slider to start at 1FPS #1674
  • update links to examples repo due to creation of mesa_examples #1636, #1637
  • ** CI Improvements**
    • update Ruff #1724
    • remove Pipfile and Pipfile.lock #1692
    • enable Codespell in Jupyter #1695
    • improve regex for better build #1669, #1671
    • exclude notebooks form linter #1670
    • updated pip for zsh #1644
    • CLI quality of life improvements #1640
  • Docs Improvements
    • update to PyData theme #1699
    • remove .rst to create simpler build #1363, #1624
    • use seaborn in tutorials #1718
    • fix types and errors in docs #1624, #1705, #1706, #1720
    • improve tutorials #1636, #1637, #1639, #1641, #1647, #1648, #1650, #1656, #1658, #1659, #1695, #1697,
    • add nbsphinx to adv_tutorial #1694
    • replace const chart for var chart in advanced tutorial #1679
  • update LICENSE to 2023 #1683

v1.2.0

1 year ago

Taylor release v1.2.0.

v1.1.1

1 year ago

This release fixes https://github.com/projectmesa/mesa/issues/1461 where custom user-specified portrayal images don't load in the visualization server.

Full Changelog: https://github.com/projectmesa/mesa/compare/v1.1.0...v1.1.1