Skip to content

Commit 6e4c72e

Browse files
committed
Merge remote-tracking branch 'upstream/main'
2 parents d31478c + c96ee45 commit 6e4c72e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+657
-1565
lines changed

.codespellignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ inactivate
66
ue
77
fpr
88
falsy
9+
assertIn

.github/workflows/build_lint.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ on:
1010
pull_request:
1111
paths-ignore:
1212
- '**.md'
13+
workflow_dispatch:
14+
schedule:
15+
- cron: '0 6 * * 1'
1316

1417
# This will cancel previous run if a newer job that obsoletes the said previous
1518
# run, is started.
@@ -34,8 +37,6 @@ jobs:
3437
python-version: "3.11"
3538
- os: ubuntu
3639
python-version: "3.10"
37-
- os: ubuntu
38-
python-version: "3.9"
3940
# Disabled for now. See https://github.com/projectmesa/mesa/issues/1253
4041
#- os: ubuntu
4142
# python-version: 'pypy-3.8'
@@ -79,4 +80,4 @@ jobs:
7980
- name: Test examples
8081
run: |
8182
cd mesa-examples
82-
pytest test_examples.py
83+
pytest -rA -Werror test_examples.py

.github/workflows/release.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ on:
1414
- '**.md'
1515
- '**.rst'
1616
workflow_dispatch:
17+
schedule:
18+
- cron: '0 6 * * 1'
1719

1820
permissions:
1921
id-token: write

.gitignore

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ __pycache__/
1515
.Python
1616
env/
1717
venv/
18+
pythonenv*/
19+
.venv/
1820
build/
1921
develop-eggs/
2022
dist/
@@ -83,10 +85,6 @@ target/
8385
.dmypy.json
8486
dmypy.json
8587

86-
# pythonenv
87-
pythonenv*/
88-
8988
# JS dependencies
9089
mesa/visualization/templates/external/
9190
mesa/visualization/templates/js/external/
92-

.pre-commit-config.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ ci:
44
repos:
55
- repo: https://github.com/astral-sh/ruff-pre-commit
66
# Ruff version.
7-
rev: v0.3.5
7+
rev: v0.5.6
88
hooks:
99
# Run the linter.
1010
- id: ruff
@@ -14,18 +14,18 @@ repos:
1414
- id: ruff-format
1515
types_or: [ python, pyi, jupyter ]
1616
- repo: https://github.com/asottile/pyupgrade
17-
rev: v3.15.2
17+
rev: v3.17.0
1818
hooks:
1919
- id: pyupgrade
20-
args: [--py38-plus]
20+
args: [--py310-plus]
2121
- repo: https://github.com/pre-commit/pre-commit-hooks
22-
rev: v4.5.0 # Use the ref you want to point at
22+
rev: v4.6.0 # Use the ref you want to point at
2323
hooks:
2424
- id: trailing-whitespace
2525
- id: check-toml
2626
- id: check-yaml
2727
- repo: https://github.com/codespell-project/codespell
28-
rev: v2.2.6
28+
rev: v2.3.0
2929
hooks:
3030
- id: codespell
3131
args: [

.readthedocs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ formats:
1313
- pdf
1414

1515
build:
16-
os: "ubuntu-22.04"
16+
os: ubuntu-lts-latest
1717
tools:
18-
python: "3"
18+
python: latest
1919

2020
# Optionally set the version of Python and requirements required to build your docs
2121
python:

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
We as members, contributors, and leaders pledge to make participation in our
66
community a harassment-free experience for everyone, regardless of age, body
77
size, visible or invisible disability, ethnicity, sex characteristics, gender
8-
identity and expression, level of experience, education, socio-economic status,
8+
identity and expression, level of experience, education, socioeconomic status,
99
nationality, personal appearance, race, caste, color, religion, or sexual
1010
identity and orientation.
1111

HISTORY.md

Lines changed: 91 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,90 @@
11
---
22
title: Release History
33
---
4-
# 2.3.0-rc1 (2024-04-18)
4+
# 3.0.0a1 (2024-08-01)
5+
## Highlights
6+
Mesa 3.0 alpha 1 (`v3.0.0a1`) is another step towards our next major version. This release introduces a name change from JupyterViz (jupyter_viz) to SolaraViz (solara_viz), to better represent the tech stack being used. It also includes two bugfixes also present in 2.3.2.
7+
8+
## What's Changed
9+
### ⚠️ Breaking changes
10+
* viz: Combine code for rendering in browser and Jupyter by @rht in https://github.com/projectmesa/mesa/pull/2180
11+
### 🛠 Enhancements made
12+
* Rename JupyterViz to SolaraViz by @rht in https://github.com/projectmesa/mesa/pull/2187
13+
* refactor: Rename jupyter_viz namespace to solara_viz by @rht in https://github.com/projectmesa/mesa/pull/2188
14+
### 🐛 Bugs fixed
15+
* fix: Render agent marker radius correctly by @rht in https://github.com/projectmesa/mesa/pull/2181
16+
* fix: Use model.schedule.steps -> mode._steps for batch_run by @rht in https://github.com/projectmesa/mesa/pull/2183
17+
### 📜 Documentation improvements
18+
* Add original conference paper link to docs by @ENUMERA8OR in https://github.com/projectmesa/mesa/pull/2160
19+
20+
## New Contributors
21+
* @ENUMERA8OR made their first contribution in https://github.com/projectmesa/mesa/pull/2160
22+
23+
**Full Changelog**: https://github.com/projectmesa/mesa/compare/v3.0.0a0...v3.0.0a1
24+
25+
# 3.0.0a0 (2024-07-04)
526
## Highlights
6-
The 2.3.0-rc1 release is our first release candidate pre-release, meant to test all the new features and enhancement for the upcoming 2.3.0 release.
27+
This is the first pre-release in the Mesa 3.0 series, which is still in active development. The `v3.0.0a0` pre-release can help active Mesa developers help starting to test the latest features in their models.
28+
29+
Since it's in active development, more breaking changes may follow and it's not recommended for general usage.
30+
31+
There are two major breaking changes at this point:
32+
- The old visualisation is removed, in favor of the new, Solara based, Jupyter Viz. This was already available in the 2.3.x release series, but is now stabilized. Checkout out our new [Visualization Tutorial](https://mesa.readthedocs.io/en/latest/tutorials/visualization_tutorial.html). More examples and a migration guide will follow later in the Mesa 3.0 development.
33+
- The `mesa.flat` namespace is removed, since was not used very often.
34+
35+
Mesa 3.0 will require Python 3.10+.
36+
37+
This pre-release can be installed with `pip install mesa --upgrade --pre`.
38+
39+
## What's Changed
40+
### ⚠️ Breaking changes
41+
* Remove mesa.flat namespace by @rht in https://github.com/projectmesa/mesa/pull/2091
42+
* breaking: Remove visualization_old (mesa-viz-tornado) by @rht in https://github.com/projectmesa/mesa/pull/2133
43+
### 🎉 New features added
44+
* Set JupyterViz as stable by @rht in https://github.com/projectmesa/mesa/pull/2090
45+
### 🐛 Bugs fixed
46+
* Jupyter_viz: Allow measures to be None by @EwoutH in https://github.com/projectmesa/mesa/pull/2163
47+
* Jupyter Viz: Don't avoid interactive backend by @EwoutH in https://github.com/projectmesa/mesa/pull/2165
48+
### 📜 Documentation improvements
49+
* Fix image on landing page of docs. by @jackiekazil in https://github.com/projectmesa/mesa/pull/2146
50+
* Replace links in docs - google group to matrix. by @jackiekazil in https://github.com/projectmesa/mesa/pull/2148
51+
* Update visualisation docs by @EwoutH in https://github.com/projectmesa/mesa/pull/2162
52+
### 🔧 Maintenance
53+
* CI: Add weekly scheduled run to all CI workflows by @EwoutH in https://github.com/projectmesa/mesa/pull/2130
54+
* Drop support for Python 3.9, require Python >= 3.10 by @EwoutH in https://github.com/projectmesa/mesa/pull/2132
55+
* Add script to list unlabeled PR's since latest release by @rht in https://github.com/projectmesa/mesa/pull/2047
56+
57+
## New Contributors
58+
* @stephenfmann made their first contribution in https://github.com/projectmesa/mesa/pull/2154
59+
60+
**Full Changelog**: https://github.com/projectmesa/mesa/compare/v2.3.1...v3.0.0a0
61+
62+
# 2.3.2 (2024-07-22)
63+
## Highlights
64+
Mesa 2.3.2 is a small patch release which fixes two bugs, one to the batch_run function still depending on `schedule.steps`, and one in the agent marker visualisation.
65+
66+
## What's Changed
67+
### 🐛 Bugs fixed
68+
* fix: Render agent marker radius correctly by @rht in https://github.com/projectmesa/mesa/pull/2181
69+
* fix: Use model.schedule.steps -> mode._steps for batch_run by @rht in https://github.com/projectmesa/mesa/pull/2183
70+
71+
**Full Changelog**: https://github.com/projectmesa/mesa/compare/v2.3.1...v2.3.2
72+
73+
# 2.3.1 (2024-07-03)
74+
## Highlights
75+
Mesa 2.3.1 is a small patch release with a datacollector bug fixed and improved documentation.
76+
77+
## What's Changed
78+
### 🐛 Bugs fixed
79+
* datacollector: store separate snapshots of model data per step by @EwoutH in https://github.com/projectmesa/mesa/pull/2129
80+
### 📜 Documentation improvements
81+
* Add experimental features to documentation as per #2122 by @stephenfmann in https://github.com/projectmesa/mesa/pull/2154
82+
83+
**Full Changelog**: https://github.com/projectmesa/mesa/compare/v2.3.0...v2.3.1
84+
85+
# 2.3.0 (2024-04-23)
86+
## Highlights
87+
Mesa 2.3.0 is a big feature release and the last feature release before 3.0.
788

889
There are two main new features:
990
- The experimental cell-centric discrete spaces, as added in #1994. It allows having cells with not only properties but also active behaviors: the `CellAgent`. Its inspired by NetLogo's [patches](https://ccl.northwestern.edu/netlogo/bind/primitive/patches.html) but extend and generalize this concept further.
@@ -13,11 +94,11 @@ There are a lot of other features: The Jupyter visualisation now supports easier
1394

1495
Finally, 2.3.0 stabilizes the `AgentSet` (including `model.agents`), making it the first experimental Mesa feature that is taken out of it's experimental phase.
1596

16-
Install this pre-release with:
97+
Install this release with:
1798
```
18-
pip install --pre mesa
99+
pip install --upgrade mesa
19100
```
20-
We would love feedback before we release 2.3.0 stable in ~1 week.
101+
The Mesa 2.3.x-series supports Python 3.9 to 3.12. The next major release will require Python 3.10.
21102

22103
## What's Changed
23104
### 🧪 Experimental features
@@ -34,7 +115,7 @@ We would love feedback before we release 2.3.0 stable in ~1 week.
34115
* feat: Let mesa runserver detect server.py as fallback by @rht in https://github.com/projectmesa/mesa/pull/2015
35116
* JupyterViz: {Convert make_plot & prepare ColorCard} to become Solara component by @rht in https://github.com/projectmesa/mesa/pull/2020
36117
* new feature: AgentSet.get can retrieve one or more then one attribute by @quaquel in https://github.com/projectmesa/mesa/pull/2044
37-
* Update CODE_OF_CONDUCT.md to version 2+ of contrib convenant by @jackiekazil in https://github.com/projectmesa/mesa/pull/2052
118+
* Update CODE_OF_CONDUCT.md to version 2+ of contrib covenant by @jackiekazil in https://github.com/projectmesa/mesa/pull/2052
38119
* Improve flocking benchmark by @coderbeta1 in https://github.com/projectmesa/mesa/pull/2054
39120
* Remove JupyterViz Altair marker overlap for huge grid size by @rht in https://github.com/projectmesa/mesa/pull/2062
40121
* Add tooltip option to Altair chart by @FoFFolo in https://github.com/projectmesa/mesa/pull/2082
@@ -87,7 +168,10 @@ We would love feedback before we release 2.3.0 stable in ~1 week.
87168
* @FoFFolo made their first contribution in https://github.com/projectmesa/mesa/pull/2082
88169
* @puer-robustus made their first contribution in https://github.com/projectmesa/mesa/pull/2083
89170

90-
**Full Changelog**: https://github.com/projectmesa/mesa/compare/v2.2.4...2.3.0-rc1
171+
**Full Changelog**: https://github.com/projectmesa/mesa/compare/v2.2.4...2.3.0
172+
173+
# 2.3.0-rc1 (2024-04-18)
174+
Mesa 2.3.0-rc1 is pre-release in preparation for 2.3.0 stable. It had the same release notes as 2.3.0.
91175

92176
# 2.2.4 (2024-01-26)
93177
## Highlights

README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,19 @@ can be displayed in browser windows or Jupyter.*
2828

2929
## Using Mesa
3030

31-
Getting started quickly:
31+
To install our latest stable release (2.3.x), run:
3232

3333
``` bash
34-
pip install mesa
34+
pip install -U mesa
3535
```
3636

37-
You can also use `pip` to install the github version:
37+
To install our latest pre-release (3.0.0 alpha), run:
38+
39+
``` bash
40+
pip install -U --pre mesa
41+
```
42+
43+
You can also use `pip` to install the latest GitHub version:
3844

3945
``` bash
4046
pip install -U -e git+https://github.com/projectmesa/mesa@main#egg=mesa

benchmarks/Flocking/flocking.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ def __init__(
139139
boid = Boid(
140140
unique_id=i,
141141
model=self,
142-
pos=pos,
143142
speed=speed,
144143
direction=direction,
145144
vision=vision,

0 commit comments

Comments
 (0)