# Mesa-Geo: GIS Extension for Mesa Agent-Based Modeling
| | |
| --- | --- |
| CI/CD | [![GitHub CI](https://github.com/projectmesa/mesa-geo/workflows/build/badge.svg)](https://github.com/projectmesa/mesa-geo/actions) [![Read the Docs](https://readthedocs.org/projects/mesa-geo/badge/?version=main)](https://mesa-geo.readthedocs.io/en/main) [![Codecov](https://codecov.io/gh/projectmesa/mesa-geo/branch/main/graph/badge.svg)](https://codecov.io/gh/projectmesa/mesa-geo) |
| Package | [![PyPI](https://img.shields.io/pypi/v/mesa-geo.svg)](https://pypi.org/project/mesa-geo) [![PyPI - License](https://img.shields.io/pypi/l/mesa-geo)](https://pypi.org/project/mesa-geo/) [![PyPI - Downloads](https://img.shields.io/pypi/dw/mesa-geo)](https://pypistats.org/packages/mesa-geo) |
| Meta | [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch) [![DOI](https://zenodo.org/badge/DOI/10.1145/3557989.3566157.svg)](https://doi.org/10.1145/3557989.3566157) |
| Chat | [![chat](https://img.shields.io/matrix/project-mesa:matrix.org?label=chat&logo=Matrix)](https://matrix.to/#/#project-mesa:matrix.org) |
Mesa-Geo implements a `GeoSpace` that can host GIS-based `GeoAgents`, which are like normal Agents, except they have a `geometry` attribute that is a [Shapely object](https://shapely.readthedocs.io/en/latest/manual.html) and a `crs` attribute for its Coordinate Reference System. You can use `Shapely` directly to create arbitrary geometries, but in most cases you will want to import your geometries from a file. Mesa-Geo allows you to create GeoAgents from any vector data file (e.g. shapefiles), valid GeoJSON objects or a GeoPandas GeoDataFrame.
## Using Mesa-Geo
To install Mesa-Geo, run
```bash
pip install 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
```
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
```
Take a look at the [examples](https://github.com/projectmesa/mesa-examples/tree/main/gis) repository for sample models demonstrating Mesa-Geo features.
For more help on using Mesa-Geo, check out the following resources:
- [Introductory Tutorial](http://mesa-geo.readthedocs.org/en/main/tutorials/intro_tutorial.html)
- [Docs](http://mesa-geo.readthedocs.org/en/main/)
- [Mesa-Geo Discussions](https://github.com/projectmesa/mesa-geo/discussions)
- [PyPI](https://pypi.org/project/mesa-geo/)
## Contributing to Mesa-Geo
Want to join the team or just curious about what is happening with Mesa & Mesa-Geo? You can...
* Join our [Matrix chat room](https://matrix.to/#/#mesa-geo:matrix.org) in which questions, issues, and ideas can be (informally) discussed.
* Come to a monthly dev session (you can find dev session times, agendas and notes at [Mesa discussions](https://github.com/projectmesa/mesa/discussions).
* Just check out the code at [GitHub](https://github.com/projectmesa/mesa-geo/).
If you run into an issue, please file a [ticket](https://github.com/projectmesa/mesa-geo/issues) for us to discuss. If possible, follow up with a pull request.
If you would like to add a feature, please reach out via [ticket](https://github.com/projectmesa/mesa-geo/issues) or join a dev session (see [Mesa discussions](https://github.com/projectmesa/mesa/discussions)).
A feature is most likely to be added if you build it!
Don't forget to check out the [Contributors guide](https://github.com/projectmesa/mesa-geo/blob/main/CONTRIBUTING.md).
## Citing Mesa-Geo
To cite Mesa-Geo in your publication, you can use the [CITATION.bib](https://github.com/projectmesa/mesa-geo/blob/main/CITATION.bib).
Raw data
{
"_id": null,
"home_page": null,
"name": "Mesa-Geo",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "ABM, GIS, agent, based, geographic, information, model, modeling, multi-agent, simulation, systems",
"author": null,
"author_email": "Project Mesa Team <projectmesa@googlegroups.com>",
"download_url": "https://files.pythonhosted.org/packages/6a/60/75f57dc885936391b80e0260658c47e5b133f08f43e490d18c9b08c79538/mesa_geo-0.8.1.tar.gz",
"platform": null,
"description": "# Mesa-Geo: GIS Extension for Mesa Agent-Based Modeling\n\n| | |\n| --- | --- |\n| CI/CD | [![GitHub CI](https://github.com/projectmesa/mesa-geo/workflows/build/badge.svg)](https://github.com/projectmesa/mesa-geo/actions) [![Read the Docs](https://readthedocs.org/projects/mesa-geo/badge/?version=main)](https://mesa-geo.readthedocs.io/en/main) [![Codecov](https://codecov.io/gh/projectmesa/mesa-geo/branch/main/graph/badge.svg)](https://codecov.io/gh/projectmesa/mesa-geo) |\n| Package | [![PyPI](https://img.shields.io/pypi/v/mesa-geo.svg)](https://pypi.org/project/mesa-geo) [![PyPI - License](https://img.shields.io/pypi/l/mesa-geo)](https://pypi.org/project/mesa-geo/) [![PyPI - Downloads](https://img.shields.io/pypi/dw/mesa-geo)](https://pypistats.org/packages/mesa-geo) |\n| Meta | [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch) [![DOI](https://zenodo.org/badge/DOI/10.1145/3557989.3566157.svg)](https://doi.org/10.1145/3557989.3566157) |\n| Chat | [![chat](https://img.shields.io/matrix/project-mesa:matrix.org?label=chat&logo=Matrix)](https://matrix.to/#/#project-mesa:matrix.org) |\n\nMesa-Geo implements a `GeoSpace` that can host GIS-based `GeoAgents`, which are like normal Agents, except they have a `geometry` attribute that is a [Shapely object](https://shapely.readthedocs.io/en/latest/manual.html) and a `crs` attribute for its Coordinate Reference System. You can use `Shapely` directly to create arbitrary geometries, but in most cases you will want to import your geometries from a file. Mesa-Geo allows you to create GeoAgents from any vector data file (e.g. shapefiles), valid GeoJSON objects or a GeoPandas GeoDataFrame.\n\n## Using Mesa-Geo\n\nTo install Mesa-Geo, run\n\n```bash\npip install mesa-geo\n```\n\nYou can also use `pip` to install the GitHub version:\n\n```bash\npip install -e git+https://github.com/projectmesa/mesa-geo.git#egg=mesa-geo\n```\n\nOr any other (development) branch on this repo or your own fork:\n\n``` bash\npip install -U -e git+https://github.com/YOUR_FORK/mesa-geo@YOUR_BRANCH#egg=mesa-geo\n```\n\nTake a look at the [examples](https://github.com/projectmesa/mesa-examples/tree/main/gis) repository for sample models demonstrating Mesa-Geo features.\n\nFor more help on using Mesa-Geo, check out the following resources:\n\n- [Introductory Tutorial](http://mesa-geo.readthedocs.org/en/main/tutorials/intro_tutorial.html)\n- [Docs](http://mesa-geo.readthedocs.org/en/main/)\n- [Mesa-Geo Discussions](https://github.com/projectmesa/mesa-geo/discussions)\n- [PyPI](https://pypi.org/project/mesa-geo/)\n\n## Contributing to Mesa-Geo\n\nWant to join the team or just curious about what is happening with Mesa & Mesa-Geo? You can...\n\n * Join our [Matrix chat room](https://matrix.to/#/#mesa-geo:matrix.org) in which questions, issues, and ideas can be (informally) discussed.\n * Come to a monthly dev session (you can find dev session times, agendas and notes at [Mesa discussions](https://github.com/projectmesa/mesa/discussions).\n * Just check out the code at [GitHub](https://github.com/projectmesa/mesa-geo/).\n\nIf you run into an issue, please file a [ticket](https://github.com/projectmesa/mesa-geo/issues) for us to discuss. If possible, follow up with a pull request.\n\nIf you would like to add a feature, please reach out via [ticket](https://github.com/projectmesa/mesa-geo/issues) or join a dev session (see [Mesa discussions](https://github.com/projectmesa/mesa/discussions)).\nA feature is most likely to be added if you build it!\n\nDon't forget to check out the [Contributors guide](https://github.com/projectmesa/mesa-geo/blob/main/CONTRIBUTING.md).\n\n## Citing Mesa-Geo\n\nTo cite Mesa-Geo in your publication, you can use the [CITATION.bib](https://github.com/projectmesa/mesa-geo/blob/main/CITATION.bib).\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "GIS Agent-based modeling (ABM) in Python",
"version": "0.8.1",
"project_urls": {
"homepage": "https://github.com/projectmesa/mesa-geo",
"repository": "https://github.com/projectmesa/mesa-geo"
},
"split_keywords": [
"abm",
" gis",
" agent",
" based",
" geographic",
" information",
" model",
" modeling",
" multi-agent",
" simulation",
" systems"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "748b98f20c7c5d31e25295c9ab887de0bbd5f6c5e90abfdd1ecb3f0e23c4d818",
"md5": "5f8d52e3e471450af1c36291e7c2621f",
"sha256": "9691b794dfd56350ac4846463072bdd82b4d2398185f1c189d975975ce2d7c96"
},
"downloads": -1,
"filename": "mesa_geo-0.8.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5f8d52e3e471450af1c36291e7c2621f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 23511,
"upload_time": "2024-09-03T20:21:36",
"upload_time_iso_8601": "2024-09-03T20:21:36.249213Z",
"url": "https://files.pythonhosted.org/packages/74/8b/98f20c7c5d31e25295c9ab887de0bbd5f6c5e90abfdd1ecb3f0e23c4d818/mesa_geo-0.8.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6a6075f57dc885936391b80e0260658c47e5b133f08f43e490d18c9b08c79538",
"md5": "09d7aed0a1454c7a9765104794169d9f",
"sha256": "b0af1bc36661be5b193c1d3edbbf94518a2afed2b9e1ef074fa34cf665e0c124"
},
"downloads": -1,
"filename": "mesa_geo-0.8.1.tar.gz",
"has_sig": false,
"md5_digest": "09d7aed0a1454c7a9765104794169d9f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 66654,
"upload_time": "2024-09-03T20:21:37",
"upload_time_iso_8601": "2024-09-03T20:21:37.334920Z",
"url": "https://files.pythonhosted.org/packages/6a/60/75f57dc885936391b80e0260658c47e5b133f08f43e490d18c9b08c79538/mesa_geo-0.8.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-03 20:21:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "projectmesa",
"github_project": "mesa-geo",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "mesa-geo"
}