diff --git a/docs/images/Mesa_Screenshot.png b/docs/images/Mesa_Screenshot.png deleted file mode 100644 index 5159d3501eb..00000000000 Binary files a/docs/images/Mesa_Screenshot.png and /dev/null differ diff --git a/docs/images/wolf_scheep.png b/docs/images/wolf_scheep.png new file mode 100644 index 00000000000..cf5cfe00964 Binary files /dev/null and b/docs/images/wolf_scheep.png differ diff --git a/docs/index.md b/docs/index.md index 3a79b6e8ec8..8c9834cccfe 100644 --- a/docs/index.md +++ b/docs/index.md @@ -13,82 +13,60 @@ ``` ```{image} https://img.shields.io/matrix/project-mesa:matrix.org?label=chat&logo=Matrix -:target: https://matrix.to/#/#project-mesa:matrix.orgs +:target: https://matrix.to/#/#project-mesa:matrix.org ``` [Mesa] is an Apache2 licensed agent-based modeling (or ABM) framework in Python. -The original conference paper is [available here](http://conference.scipy.org.s3-website-us-east-1.amazonaws.com/proceedings/scipy2015/jacqueline_kazil.html). - Mesa allows users to quickly create agent-based models using built-in core components (such as spatial grids and agent schedulers) or customized implementations; visualize them using a browser-based interface; and analyze their results using Python's data analysis tools. Its goal is to be the Python-based counterpart to NetLogo, Repast, or MASON. - -![A screenshot of the Schelling Model in Mesa|100%](https://raw.githubusercontent.com/projectmesa/mesa/main/docs/images/Mesa_Screenshot.png) - - -*Above: A Mesa implementation of the Schelling segregation model, -being visualized in a browser window and analyzed in a Jupyter -notebook.* +![A screenshot of the Wolf Sheep model in Mesa|100%](images/wolf_scheep.png) +*A visualisation of the Wolf Sheep model build with Mesa.* ## Features -- Modular components -- Browser-based visualization -- Built-in tools for analysis +- Built-in core modeling components +- Flexible agent and model management through AgentSet +- Browser-based Solara visualization +- Built-in tools for data collection and analysis +- Example model library ## Using Mesa +### Installation Options To install our latest stable release (2.4.x), run: -``` bash +```bash pip install -U mesa ``` -Mesa >= 3.0 beta includes several installations options: +To install our latest Mesa 3.0 beta with recommended dependencies: -``` bash +```bash pip install -U --pre mesa[rec] ``` -**mesa[rec]** (recommend install) installs - mesa, [networkx](https://networkx.org/), [matplotlib](https://matplotlib.org/stable/install/index.html) -and [solara](https://solara.dev/) - -### Other installation options include: - -- **mesa[network]** installs mesa and [networkx](https://networkx.org/) -- **mesa[viz]** installs, mesa, [matplotlib](https://matplotlib.org/stable/install/index.html) and [solara](https://solara.dev/) -- **mesa[dev]** installs mesa[rec], [ruff](https://docs.astral.sh/ruff/), [pytest](https://docs.pytest.org/en/stable/), [pytest-cov](https://pytest-cov.readthedocs.io/en/latest/), [sphinx](https://www.sphinx-doc.org/en/master/man/sphinx-build.html#cmdoption-sphinx-build-e), [pytest-mock](https://pytest-mock.readthedocs.io/en/latest/) -- **mesa[examples]** installs mesa[rec], [pytest](https://docs.pytest.org/en/stable/), and [scipy](https://scipy.org/) -- **mesa[docs]** installs mesa[rec], [sphinx](https://www.sphinx-doc.org/en/master/man/sphinx-build.html#cmdoption-sphinx-build-e), [ipython](https://ipython.readthedocs.io/en/stable/install/kernel_install.html), [pydata_sphinx_theme](https://pydata-sphinx-theme.readthedocs.io/en/stable/), -[seaborn](https://seaborn.pydata.org/), [myst-nb](https://myst-nb.readthedocs.io/en/latest/), [myst-parser](https://myst-parser.readthedocs.io/en/latest/) - -Then mesa[all] installs all these sub installation options: -**mesa[all]** = mesa[network,viz,dev,examples,docs] - -For more help on using Mesa, check out the following resources: - -- [Mesa Overview] -- [Mesa Introductory Tutorial] -- [Mesa Visualization Tutorial] -- [Mesa Examples] -- [GitHub Issue Tracker] -- [Matrix chat room] -- [PyPI] -## Contributing back to Mesa +### Resources -If you run into an issue, please file a [ticket] for us to discuss. If possible, follow up with a pull request. +For help getting started with Mesa, check out these resources: -If you would like to add a feature, please reach out via [ticket] or the [email list] for discussion. A feature is most likely to be added if you build it! +- [Mesa Overview] - Learn about Mesa's core concepts and components +- [Mesa Introductory Tutorial] - Build your first agent-based model +- [Mesa Visualization Tutorial] - Learn how to create interactive visualizations with Solara +- [Migration Guide] - Upgrade to Mesa 3.0 +- [Mesa Examples] - Browse user-contributed models and implementations +- [GitHub Discussions] - Ask questions and discuss Mesa +- [Matrix Chat Room] - Real-time chat with the Mesa community -- [Contributors guide] -- [Github] +### Development and Support -## Mesa Packages +Mesa is an open source project and welcomes contributions: -ABM features users have shared that you may want to use in your model +- [GitHub Repository] - Access the source code +- [Issue Tracker] - Report bugs or suggest features +- [Contributors Guide] - Learn how to contribute -- [See the Packages](https://github.com/projectmesa/mesa/wiki) -- {ref}`Mesa-Packages ` +The original Mesa conference paper is [available here](http://conference.scipy.org.s3-website-us-east-1.amazonaws.com/proceedings/scipy2015/jacqueline_kazil.html). ```{toctree} :hidden: true @@ -112,13 +90,13 @@ Mesa Packages - {ref}`search` [contributors guide]: https://github.com/projectmesa/mesa/blob/main/CONTRIBUTING.md -[github]: https://github.com/projectmesa/mesa/ -[github issue tracker]: https://github.com/projectmesa/mesa/issues +[github repository]: https://github.com/projectmesa/mesa/ +[github discussions]: https://github.com/projectmesa/mesa/discussions +[issue tracker]: https://github.com/projectmesa/mesa/issues [matrix chat room]: https://matrix.to/#/#project-mesa:matrix.org [mesa]: https://github.com/projectmesa/mesa/ [mesa overview]: overview [mesa examples]: https://github.com/projectmesa/mesa-examples [mesa introductory tutorial]: tutorials/intro_tutorial [mesa visualization tutorial]: tutorials/visualization_tutorial -[pypi]: https://pypi.python.org/pypi/Mesa/ -[ticket]: https://github.com/projectmesa/mesa/issues +[migration guide]: migration_guide