Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update release notes and version for 0.9.0a0 #253

Merged
merged 2 commits into from
Sep 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,54 @@
Release History
---------------
# 0.9.0a0 (2024-09-27)
## Highlights
The Mesa-geo `v0.9.0a0` pre-release is the first Mesa-geo version compatible with Mesa 3.0.

One of the most notable changes is the automatic assignment of unique IDs to agents. This eliminates the need for manual ID specification, simplifying agent creation. For example, where you previously might have initialized an agent with:

```python
agent = MyGeoAgent(unique_id=1, model=model, geometry=point, crs="EPSG:4326")
```

You now simply omit the `unique_id`:

```python
agent = MyGeoAgent(model=model, geometry=point, crs="EPSG:4326")
```

Mesa-geo can now directly use Mesa 3.0's SolaraViz visualisation, with an additional `make_geospace_leaflet` method to support geospaces. The new visualization can be used like:

```python
from mesa.visualization import SolaraViz
import mesa_geo.visualization as mgv

model = GeoSIR()
SolaraViz(
model,
name="GeoSIR",
components=[
mgv.make_geospace_leaflet(SIR_draw, zoom=12, scroll_wheel_zoom=False),
mesa.visualization.make_plot_measure(["infected", "susceptible", "recovered", "dead"]),
mesa.visualization.make_plot_measure(["safe", "hotspot"]),
]
)
```

The `v0.9.0a0` pre-release is a snapshot release to allow starting testing against Mesa 3.0, and might introduce new breaking changes in upcoming (pre-)releases.

## What's Changed
### ⚠️ Breaking changes
* Require Mesa 3.0 by @EwoutH in https://github.com/projectmesa/mesa-geo/pull/244
* Automatically assign unique_id's by @EwoutH in https://github.com/projectmesa/mesa-geo/pull/248
### 🛠 Enhancements made
* add method to make geospace as a solara component by @wang-boyu in https://github.com/projectmesa/mesa-geo/pull/246
### 🐛 Bugs fixed
* raster_layer: Don't pass unique_id to Agent in Cell by @EwoutH in https://github.com/projectmesa/mesa-geo/pull/249
### 📜 Documentation improvements
* Readthedocs: Don't let notebook failures pass silently by @EwoutH in https://github.com/projectmesa/mesa-geo/pull/250
* intro tutorial: Remove unique_id from Agent init by @EwoutH in https://github.com/projectmesa/mesa-geo/pull/251

**Full Changelog**: https://github.com/projectmesa/mesa-geo/compare/v0.8.1...v0.9.0a0

# 0.8.1 (2024-09-03)
## Highlights
Expand Down
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,22 @@ Mesa-Geo implements a `GeoSpace` that can host GIS-based `GeoAgents`, which are

## Using Mesa-Geo

To install Mesa-Geo, run
To install Mesa-Geo, run:
```bash
pip install -U mesa-geo
```

Mesa-Geo pre-releases can be installed with:
```bash
pip install mesa-geo
pip install -U --pre mesa-geo
```

You can also use `pip` to install the GitHub version:

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

Or any other (development) branch on this repo or your own fork:

``` bash
pip install -U -e git+https://github.com/YOUR_FORK/mesa-geo@YOUR_BRANCH#egg=mesa-geo
```
Expand Down
2 changes: 1 addition & 1 deletion mesa_geo/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
]

__title__ = "Mesa-Geo"
__version__ = "0.9.0-dev"
__version__ = "0.9.0a0"
__license__ = "Apache 2.0"
_this_year = datetime.datetime.now(tz=datetime.timezone.utc).date().year
__copyright__ = f"Copyright {_this_year} Project Mesa Team"
Loading